微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 在Hibernate中绕过GeneratedValue

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

这可能吗?

解决方法

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐