我有一个使用Hibernate的Spring项目有两个数据源(db2和sql-server).
我一添加
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator =“SOME_SEQ”)
在我的实体类中的列字段中,我在创建sql-server EntityManagerFactory时遇到BeanCreationException,因为org.hibernate.dialect.SQLServerDialect不支持序列.但是,这个实体被使用的唯一地方是使用db2 EntityManagerFactory的DAO,它使用适当的方言.
我错过了什么?
解决方法:
尝试使用GenerationType = AUTO而不是GenerationType = SEQUENCE.
@GeneratedValue(strategy = GenerationType.AUTO, generator = "SOME_SEQ")
使用AUTO hibernate使用最佳拟合生成策略,即一些数据库的序列和其他数据库的自动增量.
(N. B.:我从不使用注释,但我使用映射文件.有< generator class =“native”>适用于不同的数据库类型.GenerationType = AUTO对于注释应该是相同的.)