2011-11-24 54 views
4

我有2个类:MsgTask是1对1。休眠:非空属性引用空或瞬态值

如果我尝试保存Msg实例而不设置任务实例为它。

org.hibernate.PropertyValueException: not-null property references a null or transient value: entity3.Msg.task 

如何启用保存消息没有任务?我有这映射文件的消息,但它没有帮助

<many-to-one class="entity3.Task" fetch="select" name="task" not-null="false"> 
    <column name="TaskID" not-null="true" unique="true"/> 
</many-to-one> 

在此先感谢!

回答

5

尝试如下修改您的映射,

<many-to-one class="entity3.Task" fetch="select" name="task" 
column="TaskID" not-null="false"> </many-to-one> 

这个问题可能是因为您在column定义标签具有not-null="true"。有关hibernate映射的更多信息,请参阅here

+0

谢谢你的回答。如果是一对一的话我该怎么办?我如何修改映射? – bunnyjesse112

+0

请阅读[一对一映射](http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-onetoone)。 – ManuPK

+0

它似乎是一个2,没有非null选项。 – bunnyjesse112

相关问题