Hibernate Set排序
程序员文章站
2022-03-01 18:03:44
...
大家都知道one-to-many的排序可以通过配置一个order-by="** desc"即可实现
如代码
<set name="clubMessage" table="club_Message" inverse="true"cascade="delete" order-by="create_time desc"> <key column="club_id" /> <one-to-many class="com.test.item.club.domain.ClubMessageVO" /> </set>
上面的hbm属性意义是:一个社区对应多条社区消息、同时将这些消息按create_time排序
Java代码
import java.util.Comparator; import my.User; public class GBComparator implements Comparator{ public int compare(Object o1, Object o2){ if(o1 == null){ return o2 == null ? 0 : 1; } if(o2 == null){ return -1; } if(o1 instanceof User && o2 instanceof User){ return ((User)o1).getAccount().compareTo(((User)o2).getAccount()); } return 0; } }
Xml代码
<set name="users" table="USER_GROUP_REL" cascade="none" inverse="true" sort="my.GBComparator"> <key column="GROUPING_ID" /> <many-to-many column="USER_ID" class="User" /> </set>