ColdFusion 9 ORM“LEFT JOIN”在Join Mapping中

时间:2012-01-04 10:31:13

标签: hibernate orm coldfusion left-join hibernate-mapping

自从我上次在CF9中使用Hibernate实现以来已经有一段时间了,现在我正处于一片我无法看到所有树木的树林(可能没有足够的咖啡)。

我简化了示例以使其更具可关性,但问题的本质是相同的(多表组件中的连接映射应该允许可选关系)。

在我的用户组件中,我有以下属性来包含电子邮件地址,该地址存储在单独的表中。

<cfproperty name="sEmail" 
   type="string" 
   default="" 
   table="UserEmail" 
   joincolumn="fkUserID" 
   inversejoincolumn="pkUserID" />

不幸的是,这会产生一个INNER JOIN,而我想要一个LEFT JOIN,所以另一个表中的一个条目对于检索/持久化实体不是强制性的。

所以我的问题是:
需要使用哪个属性才能将其从强制(例如,INNER JOIN)转换为可选(例如,LEFT OUTER JOIN)?

Google的搜索结果充斥着与HQL相关的示例,这使得该选项几乎无法使用。

提前感谢您的回复。

稍后添加:

Hibernate本身具有“可选”属性(http://www.scribd.com/doc/2732589/Hibernate-Reference-Documentation#outer_page_74),但似乎没有直接转换为CF的属性。但也许其他人可能也知道一种方式。

1 个答案:

答案 0 :(得分:0)

我不相信有一种通过休眠方式的方法。如果有办法,我会感到惊讶。在这种情况下,我通常会在自定义函数(即loadSEmail())中使用自定义查询手动填充变量。