gpt4 book ai didi

java - Hibernate异常: Foreign key may not be null

转载 作者:行者123 更新时间:2023-12-01 15:51:46 25 4
gpt4 key购买 nike

我在 Person 和他们的 parent / child (也是 Person 的实例)之间有以下非常简单的多对一关系。

Person.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 04.05.2011 15:02:31 by Hibernate Tools 3.3.0.GA -->
<hibernate-mapping>
<class name="test.Person" table="PERSONS">

<id name="id" type="long" access="field">
<column name="PERSON_ID" />
<generator class="native" />
</id>

<bag name="children" table="PERSONS" lazy="false" inverse="true" cascade="all">
<key column="PERSON_ID" not-null="false"></key>
<one-to-many class="test.Person" />
</bag>

<many-to-one name="parent" column="PARENT_ID" not-null="false" />

</class>
</hibernate-mapping>

现在,我的情况的问题是我有没有 parent 的 Person 实例(例如孤儿)。

如果我尝试保留这些对象,我会得到:

java.sql.SQLException: null, message from server: "Column 'PARENT_ID' cannot be null"

如果我在映射文件中设置 not-null="true",我会得到:

org.hibernate.PropertyValueException: not-null property references a null or transient value: test.parent

这里有什么魔术?

最佳答案

Valmar,由于您收到 SQL 异常,可能您的列“PARENT_ID”具有非空约束。检查您的表 DDL。您使用什么数据库?

关于java - Hibernate异常: Foreign key may not be null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884904/

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