默认的hibernate3.2的DetachedCrieria还不能支持对如下的多对一的关联的对象的属性的排序。
[code]
<class name="Meeting"
table="meeting">
<id name="key" field="company_code"/>
<many-to-one class="Company">
<column>company_code</column>
</many-to-one>
</class>
[/code]
在hibernate3.2下对meeting按照company的companyName排序会报错。
[code]
DetachedCriteria dc = DetachedCriteria.forClass("Meeting");
dc.addOrder(Order.asc("company.companyName"));
[/code]
查了一下,有人提交了一个修改的解决方案。
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2629
但还不完善,不能做到多层引用。
用这个文件要重编译hibernate。
使用时,需要建立一个相关的subcriteria。
dc.createCriteria("company");
[code]
<class name="Meeting"
table="meeting">
<id name="key" field="company_code"/>
<many-to-one class="Company">
<column>company_code</column>
</many-to-one>
</class>
[/code]
在hibernate3.2下对meeting按照company的companyName排序会报错。
[code]
DetachedCriteria dc = DetachedCriteria.forClass("Meeting");
dc.addOrder(Order.asc("company.companyName"));
[/code]
查了一下,有人提交了一个修改的解决方案。
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2629
但还不完善,不能做到多层引用。
用这个文件要重编译hibernate。
使用时,需要建立一个相关的subcriteria。
dc.createCriteria("company");