java - 如何强制自动生成正向 hibernate 主键

标签 java oracle hibernate postgresql jpa

我正在使用 JPA 2.1 和 Hibernate 4.3.8。在 Oracle、MySQL、PostgreSQL 和 MS SQL 上。为了创建数字主键,我使用了以下代码:

  @Id
  @Column(name = "ID")
  @GeneratedValue(strategy = GenerationType.AUTO, generator = "t_gen")
  @SequenceGenerator(name = "t_gen", sequenceName = "T_SEQ")
  private long id;

到目前为止一切顺利。但我需要在所有条件下只生成 ID 的正值。我如何强制 Hibernate 在每个数据库(MS SQL、MySQL、PostgreSQL、Oracle)上只生成正 ID?

最佳答案

希望对您有所帮助;

如果在实体端未声明 allocationSize,因为默认分配大小为 50 所有序列必须在数据库端声明 INCREMENT BY 50。

引用链接: http://skay-dev.blogspot.in/2013/09/hibernate-sequence-and-negative.html

关于java - 如何强制自动生成正向 hibernate 主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29607648/

相关文章:

java - 从 java 访问 scala 对象字段

java - jdk 源代码 ://HD, 第 2-1 节中的神秘注释

sql-server - SQL Server 和 Oracle,在可扩展性方面哪个更好?

oracle - Oracle 中的 TO_DATE 错误

linux - linux下如何安装SQL*PLUS客户端

java - JPA CriteriaQuery 实现 Spring Data Pageable.getSort()

java - 使用注释左加入 hibernate

java - 将一维数组复制到二维数组

java - Junit 测试中的 Teardown() 以重置字段

java - 在 Hibernate 拦截器中获取已保存实体的 id 的方法