Hibernate 如何删除ColdFusion表单中的关联?
假设我有两个实体,一个Hibernate 如何删除ColdFusion表单中的关联?,hibernate,orm,coldfusion,null,coldfusion-9,Hibernate,Orm,Coldfusion,Null,Coldfusion 9,假设我有两个实体,一个房子: component { property name="Owner" cfc="Owner" fieldtype="many-to-one"; } 以及所有者: component { property name="Name"; } 房屋可能有业主,但不需要。我有一个与所有者关联的房屋,但现在我想删除该关联。我尝试了以下代码: var house = entityLoadByPK("House", 13); house.setOwner('')
房子
:
component
{
property name="Owner" cfc="Owner" fieldtype="many-to-one";
}
以及所有者
:
component
{
property name="Name";
}
房屋
可能有业主
,但不需要。我有一个与所有者关联的房屋
,但现在我想删除该关联。我尝试了以下代码:
var house = entityLoadByPK("House", 13);
house.setOwner('');
entitySave(house);
但是我得到一个例外,就是'
不能转换为id,这是有道理的。然而,尽管ColdFusion有一个空/未定义的概念,但看起来您实际上无法创建空值,只能检查它们。在这种情况下,我如何删除关联?如果您的关系定义正确,那么我相信您需要的是:
house.setOwner(javaCast('null', ''));
这只适用于一对多和多对多关系。在这种情况下,它是多对一的(每个房子只能有一个所有者),因此没有自动生成的removeOwner()
函数。你对我的建议有什么看法吗?是的,这很有效。谢谢虽然有点迂回,但让我感到奇怪的是,Adobe没有考虑删除多对一关系的关联。