我刚刚从 Hibernate 5.6 迁移到 6.4,所需的更改之一是将
spring.jpa.properties.hibernate.dialect
从 org.sqlite.hibernate.dialect.SQLiteDialect
更改为 org.hibernate.community.dialect.SQLiteDialect
。
更改默认值很容易,但是很多人使用包含旧设置的自定义配置文件自行托管我的程序,并且我不想要求每个人在升级期间手动更改此字段,因为有些人可能会这样做错过它并在启动时遇到错误。有没有办法在应用程序启动时和 Hibernate 初始化之前自动/以编程方式检测和更改旧的配置值?
无论如何,我讨厌方言属性。它因错误的原因而广泛传播。
默认情况下,hibernate 决定最好使用哪种方言。但你必须满足两个条件:
由于 jdbc-url 对于驱动程序来说是唯一的,并且 jdbc-driver-class 知道必须使用什么版本,因此 hibernate 应该自行决定使用什么方言。