我的项目是SSH架构的
在hibernate的一对多查询中
一表:item 多表:subitem 我想查item的时候也把subitem也都查出来 ,所以我的hql语句这么写的:
String hql = "FROM Item AS i left join fetch i.subitems order by i.itemid asc";
List list = super.getSession().createQuery(hql).list();
我想在把item用itemid去排序,可是在Eclipse中拼出来的sql语句没有加上order by i.itemid的排序,而是用我配置文件中(item.hbm.xml)中的排序 Eclipse中拼的sql是这样的:
Hibernate: select item0_.itemid as itemid0_, subitems1_.subid as subid1_, item0_.itemname as itemname6_0_, item0_.itemcode as itemcode6_0_, subitems1_.subname as subname7_1_, subitems1_.subcode as subcode7_1_, subitems1_.itemid as itemid7_1_, subitems1_.itemid as itemid0__, subitems1_.subid as subid0__ from item item0_ left outer join subitem subitems1_ on item0_.itemid=subitems1_.itemid order by subitems1_.subcode(为什么没有把我HQL中的order-by加上) 我的item.hbm.xml中关于subitem的配置
<set name="subitems" table="subitem" inverse="true" cascade="all" order-by="subcode">
<key>
<column name="itemid"> </column>
</key>
<one-to-many class="org.zwx.myznt.vo.Subitem" />
</set>
在hibernate的一对多查询中
一表:item 多表:subitem 我想查item的时候也把subitem也都查出来 ,所以我的hql语句这么写的:
String hql = "FROM Item AS i left join fetch i.subitems order by i.itemid asc";
List list = super.getSession().createQuery(hql).list();
我想在把item用itemid去排序,可是在Eclipse中拼出来的sql语句没有加上order by i.itemid的排序,而是用我配置文件中(item.hbm.xml)中的排序 Eclipse中拼的sql是这样的:
Hibernate: select item0_.itemid as itemid0_, subitems1_.subid as subid1_, item0_.itemname as itemname6_0_, item0_.itemcode as itemcode6_0_, subitems1_.subname as subname7_1_, subitems1_.subcode as subcode7_1_, subitems1_.itemid as itemid7_1_, subitems1_.itemid as itemid0__, subitems1_.subid as subid0__ from item item0_ left outer join subitem subitems1_ on item0_.itemid=subitems1_.itemid order by subitems1_.subcode(为什么没有把我HQL中的order-by加上) 我的item.hbm.xml中关于subitem的配置
<set name="subitems" table="subitem" inverse="true" cascade="all" order-by="subcode">
<key>
<column name="itemid"> </column>
</key>
<one-to-many class="org.zwx.myznt.vo.Subitem" />
</set>
我要是想给item排序该怎么办,前提是还要在<set>中按subcode排序
跪求帮忙,不胜感激