Hibernate/マッピング定義について/結果にクエリを適用する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
通常、ユーザクラスを検索して、それにひも付く顧客を検索す...
user = (User) session.load(User.class, user.getId());
Set customers = user.getCustomers();
Iterator e = customers.iterator();
while (e.hasNext()) {
Customer element = (Customer) e.next();
logger.debug(element);
}
とすればOKです。これに対して、ソート処理など更にクエリ...
user = (User) session.load(User.class, user.getId());
Query query = session.createFilter(user.getCustomers(),
"order by this.name asc"); <-この条件を↑のセット...
List list = query.list();
Iterator e = list.iterator();
while (e.hasNext()) {
Customer element = (Customer) e.next();
logger.debug(element);
}
これでthis.name(CUSTOMER.NAME)でソートをかけることができ...
これを使うことで、ユーザクラスにひも付いてる顧客のうち名...
Query query = session.createFilter(user.getCustomers(),
"where this.name=:name").setString("name", "××");
List list = query.list();
発行されたSQLは以下の通り。
select user0_.ID as ID4_0_, user0_.NAME as NAME4_0_, use...
from Samples.USER user0_ where user0_.ID=?
select customer0_.ID as ID5_, customer0_.USER_ID as USER...
from Samples.CUSTOMER customer0_ where customer0_.USER_...
ちゃんと検索条件が結合されてからSQLが発行されています。。
これは便利だ。。。。
----
この記事は
#vote(おもしろかった[7],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
通常、ユーザクラスを検索して、それにひも付く顧客を検索す...
user = (User) session.load(User.class, user.getId());
Set customers = user.getCustomers();
Iterator e = customers.iterator();
while (e.hasNext()) {
Customer element = (Customer) e.next();
logger.debug(element);
}
とすればOKです。これに対して、ソート処理など更にクエリ...
user = (User) session.load(User.class, user.getId());
Query query = session.createFilter(user.getCustomers(),
"order by this.name asc"); <-この条件を↑のセット...
List list = query.list();
Iterator e = list.iterator();
while (e.hasNext()) {
Customer element = (Customer) e.next();
logger.debug(element);
}
これでthis.name(CUSTOMER.NAME)でソートをかけることができ...
これを使うことで、ユーザクラスにひも付いてる顧客のうち名...
Query query = session.createFilter(user.getCustomers(),
"where this.name=:name").setString("name", "××");
List list = query.list();
発行されたSQLは以下の通り。
select user0_.ID as ID4_0_, user0_.NAME as NAME4_0_, use...
from Samples.USER user0_ where user0_.ID=?
select customer0_.ID as ID5_, customer0_.USER_ID as USER...
from Samples.CUSTOMER customer0_ where customer0_.USER_...
ちゃんと検索条件が結合されてからSQLが発行されています。。
これは便利だ。。。。
----
この記事は
#vote(おもしろかった[7],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: