我在 hibernate 状态下使用这段代码。
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="RightID", unique=true, nullable=false)
问题是当我删除一行时,“RightId”不保持顺序。我想要类似的东西,hibernates 应该检查 id,如果缺少某些 id 值,它必须将该值赋予 'RightsId',否则将正常进行
最佳答案
我不认为在 hibernate 中有任何这样的选项可用。 除了 AUTO,您还可以尝试以下策略选项:
GenerationType.TABLE - 持久性提供程序使用数据库表来管理 key 。
GenerationType.SEQUENCE - 持久性提供程序使用数据库序列生成 key 。数据库必须支持序列
- GenerationType.IDENTITY - 持久性提供程序遵从数据库进行 key 生成。数据库必须支持 IDENTITY 列类型。
另一点:他们可能没有提供这样的选项,因为它也会降低性能。对于每个插入,它都必须搜索整个 ID 列。您可以想象它对性能的影响有多大。
关于java - Hibernate Generated Value 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854643/