0

对于外键,有没有办法让扭矩将 0 值转换为空值?

我有以下架构:

<table name="juser" idMethod="native">
 <column name="id" primaryKey="true" required="true" type="INTEGER"/>
 <column name="name" required="true" size="2147483647" type="VARCHAR"/>
</table>

<table name="juserDepend" idMethod="native">
 <column name="id" primaryKey="true" required="true" type="INTEGER"/>
 <column name="juserRef" required="false" type="INTEGER"/>
 <foreign-key foreignTable="juser">
  <reference foreign="id" local="juserRef"/>
 </foreign-key>
</table>

我的表是用这个 sql 创建的:

create table juserDepend(id serial not null primary key,
 juserRef int,
 name text not null,
 foreign key(juserRef) references juser(id) on delete cascade
);

可以看出,在 JuserDepend 中有一个指向 juser 表的可选外键(juserRef),但我似乎无法理解这一点。现在我无法在 juserRef 中保存一个带有空值的 juserDepend 对象,因为扭矩使用整数值 0,然后数据库会抱怨它,因为它不是有效的外键。

我首选的解决方案是将扭矩简单地转换为 0 到 null,对于 null 是允许值的所有外键。这可能吗?

4

1 回答 1

0

新的头脑,我找到了答案。我刚刚将 javaType="object" 添加到我的外键中,然后我可以将其设置为 null。

于 2014-06-09T13:21:08.563 回答