Mirai Hibernate Plugin

Mirai Hibernate 前置插件

Mirai Console 的前置插件,用于 Hibernate ORM 框架的初始化

maven-central

插件自带聊天记录器 MiraiHibernateRecorder,
会记录 群聊/私聊 的内容到数据库方便其他插件使用,默认是 h2database 数据库(since 2.2.0+)
数据库配置在 config/xyz.cssxsh.mirai.plugin.mirai-hibernate-plugin/hibernate.properties
2.2.0 之前的版本的 默认数据库 为 sqlite, 你可以直接删掉 hibernate.properties, 让其重新生成 h2database 配置

数据库支持

本插件打包了以下版本的数据库驱动和连接池

mysql:mysql-connector-java:8.0.29 org.xerial:sqlite-jdbc:3.36.0.3 org.postgresql:postgresql:42.3.5 com.h2database:h2:2.1.212 com.zaxxer:HikariCP:5.0.1

需要其他数据库驱动支持请将 数据库驱动Jar包 放到 plugins 目录中一同被 mirai-console 加载

在插件项目中引用 repositories { mavenCentral() } dependencies { compileOnly("xyz.cssxsh.mirai:mirai-hibernate-plugin:${version}") } 一些方法和类说明

MiraiHibernateConfiguration
配置的,对应于 JvmPlugin 的 SessionFactory
默认将会读取(生成)在 configFolder 目录下的 hibernate.properties 作为配置文件
并且自动扫描加载 JvmPlugin 所在类包下的被 javax.persistence.Entity 标记的实体类

MiraiHibernateRecorder
是本插件自带的消息记录器,通过对 MessageEvent 和 MessagePostSendEvent 记录,保存消息历史到数据库

CriteriaBuilder.rand
MiraiHibernateConfiguration 中会对 Sqlite 的 random 进行别名注册为 rand 统一SQL语句的中的随机函数名

示例代码 kotlin 安装 MCL 指令安装

./mcl --update-package xyz.cssxsh.mirai:mirai-hibernate-plugin --channel stable --type plugin

手动安装 运行 Mirai Console 生成plugins文件夹 从 Releases 下载jar并将其放入plugins文件夹中