0

我将 Hibernate 与 Java 一起使用。

我有两个与外键关联的表。

表:国家
字段:ID、名称
POJO 类名:国家
POJO 类属性:id、name、city

表:城市
字段:ID、名称、CountryID
POJO 类名:国家

然后我使用 MyEclipse 的“休眠逆向工程”。它自动创建 DAO、摘要和 pojo 类。

一切都很好。当我请求一个 Country 对象时,Hibernate 检索它并用 CountryID 作为 country.id 的城市填充属性“城市”。

一切都很好,但是当我列出“城市”属性(java Set 类型)时,然后打印出所有城市的 ID,我得到了这个无序列表:

编号:5
编号:1
编号:4
编号:2

当我从 CountryDAO 类获取 Country 实例时,我应该在哪里编辑以获取按 ID 排序的城市?

4

2 回答 2

3

您可以尝试使用 Hibernate 的 Criteria API 来提供这样的约束。以下文章将按 id 升序对帖子进行排序。

List posts = session.createCriteria(Post.class)
    .addOrder( Order.asc("id") )
    .list();
于 2009-04-30T22:57:51.150 回答
1

您使用的是 XML 映射还是注释?

通常,在映射集合上有一个“order-by”属性,可让您指定一个列来对集合进行排序,以及 asc 或 desc 排序。

请参阅此页面:

http://docs.jboss.org/hibernate/stable/core/reference/en/html/collections-mapping.html

搜索“order-by” - 您需要为您的示例找到合适的集合映射。

于 2009-04-30T21:47:00.400 回答