Java 适用于DB2、Oracle和MSSql的Hibernate序列生成策略是什么
我正在开发一个需要在DB2、Oracle或MySQL上运行的企业web应用程序。我面临的主要问题是选择一个hibernate序列ID生成,它将与所有三个DBs一起工作。到目前为止,我的解决方案有三个不同的DBs项目,我希望将这三个项目合并为一个统一的项目,以便于维护。Java 适用于DB2、Oracle和MSSql的Hibernate序列生成策略是什么,java,sql,oracle,hibernate,db2,Java,Sql,Oracle,Hibernate,Db2,我正在开发一个需要在DB2、Oracle或MySQL上运行的企业web应用程序。我面临的主要问题是选择一个hibernate序列ID生成,它将与所有三个DBs一起工作。到目前为止,我的解决方案有三个不同的DBs项目,我希望将这三个项目合并为一个统一的项目,以便于维护。 这三个数据库将采用什么样的ID生成策略?您可以使用@TableGenerator 此注释定义了主键生成器,当为GeneratedValue注释指定生成器元素时,可以通过名称引用该主键生成器。可以在实体类或主键字段或属性上指定表生成
这三个数据库将采用什么样的ID生成策略?您可以使用
@TableGenerator
此注释定义了主键生成器,当为GeneratedValue注释指定生成器元素时,可以通过名称引用该主键生成器。可以在实体类或主键字段或属性上指定表生成器。生成器名称的范围是持久化单元的全局范围(跨所有生成器类型)。
有关详细信息
文档中的示例:
@Entity public class Employee {
...
@TableGenerator(
name="empGen",
table="ID_GEN",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="EMP_ID",
allocationSize=1)
@Id
@GeneratedValue(strategy=TABLE, generator="empGen")
public int id;
...
}
嘿那么它实际上是如何工作的呢?我们是否将钥匙存放在每个发电机对应的位置?