论坛首页 Java企业应用论坛

DetachedCriteria中不支持many-to-one关联属性的sort(附别人的解决)

浏览 3818 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-11  
默认的hibernate3.2的DetachedCrieria还不能支持对如下的多对一的关联的对象的属性的排序。
<class name="Meeting"
		table="meeting">
<id name="key" field="company_code"/>
<many-to-one class="Company">
<column>company_code</column>
</many-to-one>
</class>

在hibernate3.2下对meeting按照company的companyName排序会报错。
DetachedCriteria dc = DetachedCriteria.forClass("Meeting");
dc.addOrder(Order.asc("company.companyName"));

查了一下,有人提交了一个修改的解决方案。
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2629
但还不完善,不能做到多层引用。
用这个文件要重编译hibernate。
使用时,需要建立一个相关的subcriteria。
dc.createCriteria("company");
   发表时间:2007-06-11  
不是这样的,不光是Order,要在DetachedCriteria中访问关联对象的属性,都是要创建别名的,只要先createAlias("company", "company")就没有问题了。多层访问时要逐层创建别名。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics