gpt4 book ai didi

jpa - 同一实体的多个表示正在合并、分离

转载 作者:行者123 更新时间:2023-12-01 10:36:41 28 4
gpt4 key购买 nike

我在尝试使用 jpa2.0 将包含持久实体和分离实体(新创建的实体)的实体列表更新到我的数据库中时遇到错误。
我的实体包含在合并数据时出现错误(在标题中提到)的内部实体:

Class superclass{
private A a;
private string name;

//getter setters here...
}

Class A{
private long id;
@onetoone(cascade=CascadeType.All, fetch=FetchType.Eager)
private B b;
@onetoone(cascade=CascadeType.All, fetch=FetchType.Eager)
private C c;

//getter setters here...

}


Class Dao{

daoInsert(superclass x){

em.merge(x);

}
}

我希望发送的任何实体都可以合并到数据库中。

Hibernate 通过将以下内容添加到persistence.xml 确实为此提供了解决方案

有什么我可以在 jpa 中做的和休眠一样的事情吗?

请不要建议使用 em.find() 查找实体然后手动更新,因为我也需要实体、持久化实体和新创建的实体。
此外,我正在使用 Spring 形式将整个专利实体保存到数据库中。

如果我不够清楚,我很抱歉,这是我的第一个问题,我真的是初学者。

任何帮助将不胜感激。

最佳答案

今天自己找到了这个问题的答案。你只需要

remove CascadeType.MERGE from the entity that is not allowing you to persist the detached entity.

if you're using CascadeType.ALL then mention all cascade type other than CascadeType.MERGE.

关于jpa - 同一实体的多个表示正在合并、分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179786/

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