java – 在Hibernate中绕过GeneratedValue

有可能在hibernate中绕过@GeneratedValue的ID,我们有一种情况,大多数时候我们希望使用GeneratedValue设置ID,但在某些情况下,需要手动设置ID.

这可能吗?

解决方法

我知道您可以在JPA规范中执行此操作,因此您应该可以在Hibernate(使用JPA注释)中.

如果您刚刚填写您正在创建的新持久模型的ID字段,那么当您将该模型“合并”到EntityManager中时,它将使用您设置的ID.

这确实有分歧.你刚刚使用了该ID,但是由GeneratedValue注释指定的序列不知道.除非你指定一个比当前序列值低的无符号ID,否则当序列达到刚才使用的值时,您将会遇到问题.

所以,也许我可以看到你可能希望用户能够指定一个ID,但是您需要捕获将来可能出现的可能的异常(重复ID).

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。