#Hibernate

Hibernate是Java对象关系映射(ORM)框架。Hibernate负责实体映射和持久化操作,YashanDB JDBC驱动负责建立数据库连接并执行SQL语句。

本章节仅说明与YashanDB JDBC驱动直接相关的配置。有关Hibernate 5的完整对接步骤、实体映射示例和常见问题,请查阅YashanDB生态文档:Hibernate (opens new window)。Hibernate本身的配置和API用法请查阅Hibernate官方文档。

# 对接准备

对接前需要准备以下组件:

  • 与应用JDK版本匹配的YashanDB JDBC驱动。
  • Hibernate及应用框架所需的依赖。
  • 与Hibernate版本匹配的YashanDB方言包。使用Hibernate 5时,需要按照生态文档获取YashanDialect-for-hibernate5方言包。
  • 可正常访问的YashanDB数据库和具有所需权限的数据库用户。

YashanDB JDBC驱动的获取和安装方法请参考安装JDBC驱动。

# 配置数据源和方言

以下示例展示Spring Boot应用连接YashanDB时需要配置的核心参数:

spring.datasource.url=jdbc:yasdb://192.168.1.2:1688/yasdb
spring.datasource.username=username
spring.datasource.password=passwd
spring.datasource.driver-class-name=com.yashandb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.YasDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=validate

spring.datasource.url用于指定YashanDB JDBC连接串,连接串格式和参数请参考JDBC连接串配置参数。org.hibernate.dialect.YasDialect由YashanDB方言包提供,方言包应与Hibernate版本匹配。

hibernate.hbm2ddl.auto控制Hibernate对数据库对象的处理方式。示例使用validate校验实体与表结构是否匹配。生产环境中应根据对象变更管理流程设置该参数,不建议由应用在启动时自动重建业务表。

# 使用说明

  • 实体属性类型应与YashanDB列的数据类型匹配,数据类型映射请参考JDBC与Java数据类型映射。
  • 使用序列生成主键时,@SequenceGenerator配置的序列名称应与数据库中的序列名称保持一致。
  • 数据库字符集为GBK且字段需要保存国家字符集数据时,可以按照生态文档使用Hibernate的@Nationalized注解或适用的国家字符类型进行映射。
  • CLOB、BLOB和NCLOB字段的处理方法请参考处理LOB类型。

Hibernate版本、方言类和注解行为可能随框架版本变化。升级Hibernate前,应先确认方言包的适配版本,并在测试环境中验证实体映射、主键生成和分页查询等功能。

pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流