是否可以在Hibernate中绕过@GeneratedValue
ID,我们有一种情况,大多数情况下我们希望使用GeneratedValue
设置ID,但在某些情况下我希望手动设置ID。
这可能吗?
答案 0 :(得分:5)
我知道你可以在JPA规范中这样做,所以你应该能够在Hibernate中(使用JPA +注释)。
如果您只是填写您正在创建的新持久模型的ID字段,那么当您将该模型“合并”到EntityManager中时,它将使用您设置的ID。
但这确实有分歧。您刚刚用完了该ID,但GeneratedValue注释指定的序列并不知道。除非你指定一个比当前序列值少的ununsed ID,否则一旦序列达到你刚才使用的值,你就会遇到问题。
所以,也许我可以看到您希望用户能够指定ID的位置,但是您需要捕获将来可能出现的可能的异常(重复ID)。