0

JavaでHibernateを使用しています。

外部キーに関連付けられた 2 つのテーブルがあります。

表:国
フィールド: ID、名前
POJO クラス名 : 国
POJO クラスのプロパティ: ID、名前、都市

表:都市
フィールド: ID、名前、CountryID
POJO クラス名 : 国

そこで、MyEclipse の「休止状態のリバース エンジニアリング」を使用します。DAO、abstract、および pojo クラスを自動的に作成します。

すべてが非常にうまく機能します。Country オブジェクトを要求すると、Hibernate はそれを取得し、countryID が country.id の都市でプロパティ「都市」を埋めます。

それでもすべて問題ありませんが、「都市」プロパティ (Java Set タイプ) をリストし、すべての都市の ID を出力すると、次の順不同のリストが得られます。

ID: 5
ID: 1
ID: 4
ID: 2

CountryDAO クラスから Country インスタンスを取得するときに、都市を ID 順に並べ替えるには、どこを編集すればよいですか?

4

2 に答える 2

3

HibernateのCriteriaAPIを使用して、このような制約を提供することができます。次の部分は、IDの昇順で投稿を並べ替えます。

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

XML マッピングまたは注釈を使用していますか?

通常、マップされたコレクションには「order-by」属性があり、コレクションを並べ替える列、および昇順または降順を指定できます。

このページを参照してください:

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

「order-by」を検索してください。例に適したコレクション マッピングを見つける必要があります。

于 2009-04-30T21:47:00.400 に答える