SmartAccess 模块与配置
选择模块
| 模块 | 用途 | 主要依赖 |
|---|---|---|
core | Access 元数据、分页、事务协议 | Jakarta Persistence API |
jdbc-core | JDBC 与连接池基础 | HikariCP |
jdbc-jpa | JDBC 上的 JPA 风格 Access | jdbc-core |
hibernate | Hibernate 公共集成 | jdbc-jpa |
hibernate5 | Hibernate 5.6 Jakarta 版本 | Hibernate 5.6 |
hibernate6 | Hibernate 6 集成 | Hibernate 6.5 |
reactive-core | 协程异步访问基础 | core |
reactive-r2dbc | R2DBC 集成 | reactive-core |
reactive-vertx | Vert.x SQL Client 集成 | reactive-core |
hibernate-reactive | Hibernate Reactive 集成 | reactive-vertx |
不要同时引入多个同类实现,除非明确配置了不同数据库名称并验证服务选择逻辑。
数据源配置
同步 Hibernate 示例使用以下配置:
| 配置 | 说明 |
|---|---|
db.provider | DBService 实现类 |
db.driver | JDBC Driver 类名 |
db.url | JDBC URL |
db.username | 用户名 |
db.password | 密码 |
db.dialect | Hibernate Dialect 类名 |
db.ddl | hibernate.hbm2ddl.auto,默认 update |
db.poolMax | Hikari 最大连接数,默认 10 |
db.poolIdle | Hikari 最小空闲连接数,默认 2 |
配置由 Rain DI 作为 db 对象注入数据库服务。多环境差异应使用 Rain 的运行模式目录覆盖,不要把生产凭据提交到仓库。
Hibernate 配置
hibernate.properties 直接承载 Hibernate 选项。不同 Hibernate 主版本使用的属性和 Jakarta API 存在差异,升级 hibernate5 到 hibernate6 时应同时检查实体注解包、Dialect 和查询行为。
当前限制
- 项目 README 的设计说明与正式文档仍不完整,部分模块缺少端到端示例。
- 响应式模块当前没有主源码实现,不能作为可用数据库方案;详见实现模块与成熟度。
- SmartAccess 当前构建仍依赖较早的 Rain 开发版本,升级 Rain 时需要验证 Hook、类加载与 DI 兼容性。