簡體   English   中英

HibernateException:外鍵可能不是 null

[英]HibernateException: Foreign key may not be null

我在 Person 和他們的父母/孩子之間有以下非常簡單的多對一關系(這也是 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>

現在,我的問題是我有沒有父母的 Person 實例(例如孤兒)。

如果我嘗試保留這些對象,我會得到:

java.sql.SQLException:null,來自服務器的消息:“列 'PARENT_ID' 不能為空”

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

org.hibernate.PropertyValueException:非空屬性引用 null 或瞬態值:test.parent

這里有什么魔術?

Valmar,由於您收到 SQL 異常,因此您的 COLUMN 'PARENT_ID' 可能沒有 null 約束。 檢查您的表 DDL。 你用的是什么數據庫?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM