hibernate - 使用 hbm2ddl 创建 ID 和数据库方案的共享序列生成器

标签 hibernate hbm2ddl

全部。我在通过 hbm2ddl 生成数据库方案时遇到问题。 我想对所有私钥使用共享序列生成器。所以我在某个实体中定义了一次。

@Entity
@SequenceGenerator(name = "MY_SEQUENCE_GENERATOR", sequenceName = "MY_SEQ")
public class MyEntity implements Serializable {
 ....
}

然后我想对所有 id 使用这个序列生成器。

public class SomeEntity1 implements Serializable {
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =  "MY_SEQUENCE_GENERATOR")
  Long id;     
  ....
}

public class SomeEntity2 implements Serializable {
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =  "MY_SEQUENCE_GENERATOR")
  Long id;     
  ....
}

当我运行 hbm2ddl ant 任务时,出现异常:

[hibernatetool] javax.persistence.PersistenceException: org.hibernate.AnnotationException: Unknown Id.generator: MY_SEQUENCE_GENERATOR
[hibernatetool] org.hibernate.AnnotationException: Unknown Id.generator: MY_SEQUENCE_GENERATOR

这是一个问题还是我做错了什么?

最佳答案

这个问题的解决方案是在 package-ingo.java 文件中为我放置的实体定义共享 @SequenceGenerator。

关于hibernate - 使用 hbm2ddl 创建 ID 和数据库方案的共享序列生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688895/

相关文章:

java - Hibernate 使用不可变列表初始化集合

mysql - 告诉 Hibernate 的 hbm2ddl 为 @Enumerated 注释字段添加 MySQL 枚举列

java - 如何使用 hibernate 建议创建表

java - 如何禁用 JPA 实体类的 sql 创建

java - hibernate中要遍历的节点不能为空异常

java - NonUniqueDiscoveredSqlAliasException : Encountered a duplicated sql alias [ASC_ID] during auto-discovery of a native-sql query

java - 如何在 spring boot jpa 中使用外部 id 作为主要 id?

java - 使用 Hibernate + Javassist + Gilead 时出现 "Duplicate method"错误

java - Hibernate:缺少列数