【发布时间】:2010-12-23 18:43:39
【问题描述】:
嘿,我正在尝试从 Oracle 10g 表中删除以下结构的实体:
class Record
{
string id;
string name;
DateTime dateTime;
}
具有以下映射:
<class name="Records" table="RECS">
<composite-id>
<key-property name="P_ID" />
<key-property name="NAME" />
</id>
<property name="dateTime" column="DATE_TIME_V" />
</class>
现在,假设表的 PK 是 P_ID 和 NAME 列(复合键),当 NAME 允许空值但 P_ID 不允许时。 现在,问题是当 NHibernate 尝试删除 P_ID = 9 和 NAME = NULL 的对象时,它会输出以下删除语句:
delete from RECS R where R.P_ID = 9 and NAME = NULL
显然,该操作不会删除任何内容,因为“NAME = NULL”应该是“NAME IS NULL”。 我是否在这里遗漏了一些导致 NHibernate 将空值视为任何其他值的东西?
谢谢, 哈雷尔
【问题讨论】:
标签: oracle nhibernate composite-key