2009-04-30 11 views
0

私はJavaでHibernateを使用します。MyEclipse + HibernateはプロパティセットをIDで並べ替えませんか?

私は外部キーに関連付けられた2つのテーブルを持っています。

 
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の「休止状態のリバースエンジニアリング」を使用します。 DAO、抄録、およびpojoクラスを自動的に作成します。

すべてがうまく機能します。 Countryオブジェクトを要求すると、Hibernateはそれを取得し、countryIDというCountryIDを持つ都市でプロパティcitiesをプロパティに設定します。

それでも

すべて罰金が、私は「都市」プロパティ(Javaのセットタイプ)をリストするとき、私はこの順不同リストを得たすべての都市のIDをプリントアウト:

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

はどこの都市が順取得する編集する必要がありますCountryDAOクラスからCountryインスタンスを取得したときのID

答えて

1

XMLマッピングやアノテーションを使用していますか?

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

は、このページを参照してください:「オーダー・バイ」の

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

検索 - あなたはあなたの例のための適切なコレクション・マッピングを見つける必要があります。

+0

アンディ、ご検討いただきありがとうございます。しかし私はまだそれについて例外を得る。何が間違っているか確認できますか? http://pastebin.ca/1410416 –

3

このような制約を与えるには、HibernateのCriteria APIを使用してみてください。次の部分は、IDの昇順で投稿を注文する予定です。

List posts = session.createCriteria(Post.class) 
    .addOrder(Order.asc("id")) 
    .list(); 
+0

私はHibernateを使用していない間はしばらくしていますが、構文ミスがあればそれを無視してください。 –

+0

すてきな回答ありがとう – nimcap

関連する問題