关于JPA实体自动ID的问题
原创
©著作权归作者所有:来自51CTO博客作者种瓜得豆的原创作品,谢绝转载,否则将追究法律责任
新创建一个实体对象,并将其在持久化到数据库中时,可选择实体的ID为自动管理的。
采用自动管理ID时,若当前的实体从未持久化过则需要:
1、id必须保持为null。
2、若当前实体被另一个主实体绑定时,必须先persist当前的实体,然后再persist或merge绑定该实体的实体对象,否则当前实体的id可能会一直为null,不会为新建的实体对象自动分配ID.
总结如下:
当更新一组相互绑定的实体时,必须是新创建的实体先persist更新,已经存在id的实体后merge再persist更新才可以,否则新创建的实体对象可能无法获得id。
上一篇:获得及操作基类的方法
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
交易流水号的艺术:掌握支付系统的业务ID生成指南
讲清楚支付系统中为什么要有业务ID,各子域的业务ID为什么要统一规范,以及最佳实践。
序列号 最佳实践 支付系统设计与实现 业务ID 分布式 -
在有数据的情况下更改字段类型
alter table eomsinfo rename column dealTime2 to
字段 oracle数据库 数据转换