java – Hibernate无法在具有多个数据源的Spring项目中实例化id生成器

我有一个使用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对于注释应该是相同的.)

上一篇:DB2入门学习


下一篇:c# – 将IBM DB2 IXF文件转换为CSV或XML