我在Java中使用Hibernate。
我有两个与外键关联的表。
Table: country Fields: ID, Name POJO class name : Country POJO class properties: id, name, cities Table: city Fields: ID, Name, CountryID POJO class name : Country
然后我使用MyEclipse的“hibernate逆向工程”。它会自动创建DAO,摘要和pojo类。
一切都很好。当我请求一个Country对象时,Hibernate会检索它并使用CountryID为country.id的城市填充属性“cities”。
还是一切都很好但是当我列出“cities”属性(java Set type)时,打印出我得到这个无序列表的所有城市的ID:
ID: 5 ID: 1 ID: 4 ID: 2
当我从CountryDAO类中获取Country实例时,我应该在哪里编辑以按ID排序城市?
答案 0 :(得分:3)
您可以尝试使用Hibernate的Criteria API来提供这样的约束。下面的部分将按照ID升序订购帖子。
List posts = session.createCriteria(Post.class)
.addOrder( Order.asc("id") )
.list();
答案 1 :(得分:1)
您使用的是XML映射还是注释?
通常,在映射集合上有一个“order-by”属性,允许您指定一个列来按顺序排序集合,以及asc或desc排序。
参见本页:
http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections-mapping.html
搜索“order-by” - 您需要为您的示例找到合适的集合映射。