gpt4 book ai didi

java - 违反 hibernate 和完整性约束

转载 作者:行者123 更新时间:2023-12-01 15:13:33 26 4
gpt4 key购买 nike

我正在开发的一个应用程序正在使用 Oracle 和 Hibernate 作为 ORM。当我尝试插入 PartyUserObject 时,我不断收到以下错误:

could not insert: [Person]; SQL [insert into PARTY (............)]; constraint [PARTY_FK1]
java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (PARTY_FK1) violated - parent key not found

该消息似乎很明显,但我无法配置 Hibernate 使其正常工作。相关实体关系及hbm.xml文件如下:

PartyUser.java

private Party ap;

Party.java

private Address address;
private Set<PartyUser> partyUsers;

PartyUser.hbm.xml

<many-to-one
name="ap"
column="AP_ID"
class="Party"
not-null="true"
lazy="false"
cascade="save-update,evict">
</many-to-one>

Party.hbm.xml

<set name="partyUsers" inverse="true" fetch="subselect">
<key column="AP_ID"/>
<one-to-many class="PartyUser"/>
</set>

PARTY_FK1 指参与方表中的地址 FK。正如我之前所说,在 DAO 上为新实例化的 PartyUser 对象调用 save(关联的 Party 和 Address 对象也是新的)。所有的id都是在java端生成的。正如您可能注意到的那样,两个实体都已打开级联。

有什么问题吗?

最佳答案

我不确定为什么会发生这种情况,但我总是看到这个错误。我一直在做的是在一开始,当我添加所有数据时,首先我使用以下命令关闭约束: SET DATABASE REFERENTIAL INTEGRITY FALSE 然后在最后我将其重新打开 将数据库引用完整性设置为 TRUE。与其说这是一个修复,不如说它是一个黑客,但它对我们有用,所以我想我会分享这些知识。

关于java - 违反 hibernate 和完整性约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971158/

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