gpt4 book ai didi

java - entitymanager.merge() 可以作用于克隆的实体对象吗

转载 作者:行者123 更新时间:2023-12-01 18:34:57 25 4
gpt4 key购买 nike

这是一个基本问题,但我找不到太多相关信息。

用例如下:我使用 CriteriaQuery 进行搜索以查找 x 记录。我在此方法中进行的最后一次调用以启动实际搜索如下:

getEntityManager().createQuery(query).setMaxResults(MAX_ROWS).getResultList())

所以这意味着我取回的记录已附加到entityManager。

想象一下我会深度克隆这些实体,更改这些克隆实体中的一些值并尝试调用entityManager.merge(clonedEntity)。这行得通吗? “合并”方法是否检查实体中的“等于”方法以查找数据库中的相似对象并更新这些对象,或者这不起作用,您需要更改附加到实体管理器的实体才能更新这些记录在数据库中?

预先感谢您的帮助

最佳答案

您可以更新由entitymanager控制的对象,然后就不需要合并。克隆的实体是分离的,因此您需要保留它(如果它没有 id),它将代表一个新对象,从而代表数据库中的一个新条目。

如果它确实有 id,则可以合并它。这取决于您是否使用生成的 id 以及克隆是否也会复制该 id。

关于java - entitymanager.merge() 可以作用于克隆的实体对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60079030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com