gpt4 book ai didi

java - 使用 "parent key not found"更新 JPA 中的 @ManyToMany 错误

转载 作者:行者123 更新时间:2023-12-01 14:11:52 24 4
gpt4 key购买 nike

我有一个存储库方法,可以执行以下操作:

PersonDog 是实体。 persondog 是方法参数。

    Dog dog = entityManager.find(Dog.class, dogId);

if (dog== null) {
// creates dog
dog = entityManager.persist(dog);
}

person.addDog(dog);
entityMananger.merge(person);

人和狗是多对多的关系。我认为问题在于狗的插入语句没有首先执行。

ORA-02291 parent key not found

这是来自 EJB 3.1 bean,使用容器管理的事务。

最佳答案

我假设这不是您真正的代码,因为它会得到一个空指针异常,因为狗为空。

为什么要合并此人?人从哪里来。如果您从同一个 EntityManager 获取人员,则无需调用合并。您可能会以某种方式获得该狗的两份副本。

它应该首先插入狗,最后插入连接表。您使用哪个 JPA 提供商?

请包含完整的异常和 SQL 日志。

关于java - 使用 "parent key not found"更新 JPA 中的 @ManyToMany 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465659/

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