- PR -

Hibernateのorg.hibernate.Session#getについて。

1
投稿者投稿内容
Tatsuya
ベテラン
会議室デビュー日: 2007/04/02
投稿数: 53
投稿日時: 2007-04-06 18:35
ただいま、Hibernate-3.2を使っているのですが、ちょっと疑問に思ったことがありま
す。

今回使っているテーブルの詳細。
BID (
BID_ID SERIAL,
ITEM_ID INT,
BID_PRICE INT,
PRIMARY KEY (BID_ID)

);

ITEM (
ITEM_ID SERIAL,
ITEM_NAME VARCHAR(128),
ITEM_INITIAL_PRICE INT,
ITEM_RESERVE_PRICE INT,
PRIMARY KEY (ITEM_ID)
);

ItemクラスにはBidクラスをSetコレクションで格納しています。

Session session = セッションオープン
トランザクション開始

Item item = (Item)item.get(Item.class, [item_idを指定]);
Set bids = item.getBids();

for (Iterator it = bids.iterator(); it.hasNext():wink: {
Bid bid = it.next();
System.out.println(bid.getId());
}

コミット
session.close();


----------------------------------------------------------
BID_IDで昇順出力されないのですが、これは普通なのでしょうか?
ソートする場合は別途処理が必要かと思うんですけど、一番スマートな処理とは、どういった感じなのでしょうか?

[ メッセージ編集済み 編集者: Tatsuya 編集日時 2007-04-06 18:38 ]
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-04-07 19:12
引用:

Tatsuyaさんの書き込み (2007-04-06 18:35) より:
BID_IDで昇順出力されないのですが、これは普通なのでしょうか?
ソートする場合は別途処理が必要かと思うんですけど、一番スマートな処理とは、どういった感じなのでしょうか?


Setは順序を規定しないのでデフォルトではソートされません。
マッピングやフィルタで明示すればソートできるようです。
もしくは、Listにすればインデックス順になります。

http://www.hibernate.org/118.html#A7
1

スキルアップ/キャリアアップ(JOB@IT)