Criteria
ユーザー テーブルがあります。キーとして UserId を、値として User オブジェクトを使用してマップを返す Hibernateを作成するにはどうすればよいですか?
4455 次
3 に答える
1
クエリは常にリストを返すため、これは可能ではないと思います: http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Criteria.html#list () または特別な単一の要素をケースに入れます。
マップを返すことができるメソッドはありません。
そのため、Session を上書きして map() メソッドも持つ特別な Criteria を作成するなどのハックがなければ、やりたいことができません。
リストを返してマップに変換するだけです。
于 2012-09-19T18:23:21.640 に答える
0
Google グァバの使用
ImmutableMap<Long, User> immutableMap = Maps.<Long, User>uniqueIndex(hibernateSession.createCriteria(User.class).list(),
new Function<User, Long>() {
public Long apply(User input) {
return input.getId();
}
});
于 2012-09-19T18:28:56.473 に答える