合并后获取实体JPA ID?

羽毛

我有一个新创建的实体(已分离,因为尚未保存在数据库中)。该实体拥有数据库中已经存在的另一个实体(但也已分离)。因此,我会用em.merge(myNewEntity)它来存储它。

如果要获取新创建的ID,请稍后使用em.flush()然后我调用myNewEntity.getId()persist我接收由DB / JPA generted的ID。使用merge,则不会。对象中的ID保留null这是为什么?

被告

merge操作的结果与该操作的结果不同persist-传递给该实体的实体merge不被管理。而是创建并返回实体的托管副本。这就是为什么原始新实体不会获得ID的原因。所以代替

em.merge(newEntity);
Long id = newEntity.getId();

它应该是

managedEntity = em.merge(newEntity);
Long id = managedEntity.getId();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用eclipselink持久化并合并实体后无法获取ID

来自分类Dev

ID的JPA实体问题

来自分类Dev

无法在JSON输出中获取JPA实体ID

来自分类Dev

回滚后,JPA / Hibernate中的实体状态和实体ID值

来自分类Dev

回滚后,JPA / Hibernate中的实体状态和实体ID值

来自分类Dev

合并以获取ID

来自分类Dev

在事务中获取实体的 id

来自分类Dev

JPA实体ID-long或Long

来自分类Dev

JPA实体扩展类包含@Id

来自分类Dev

JPA实体扩展类包含@Id

来自分类Dev

Java Jpa查询搜索与ID相关的实体

来自分类Dev

Jpa findAllBy* 使用 Long id 而不是实体

来自分类Dev

Spring JPA / Hibernate org.hibernate.AssertionFailure:实体中的id为null(发生异常后不要刷新Session)

来自分类Dev

JPA性能:实体还是实体ID作为查询参数?

来自分类Dev

Spring的数据JPA继承:创业实体ID在儿童实体

来自分类Dev

批量分配后获取ID

来自分类Dev

如何获取表单类型的实体ID?

来自分类Dev

根据ID以外的属性获取实体

来自分类Dev

使用实体框架按ID获取记录

来自分类Dev

Symfony从实体获取连接的用户ID

来自分类Dev

C#DTO获取实体的ID

来自分类Dev

仅通过用户名获取实体后,我可以通过 ID 获取实体。这是一个错误吗?来自外壳的视频

来自分类Dev

仅在JPA TupleQuery中获取ID

来自分类Dev

无法在@ID @generatevalue JPA实体上接受NULL值

来自分类Dev

实体bean @Id属性填充值时的JPA

来自分类Dev

是否在JPA实体上保留随机UUID作为对象ID?

来自分类Dev

具有复合ID的JPA可嵌入实体

来自分类Dev

spring jpa - 继承实体没有获得自己的 id 列

来自分类Dev

Spring JPA - 具有相同 id 的不同实体