[Seasar-user:8584] [DBFlute 0.4.6] 子テーブルの項目に対する条件指定について
小谷圭
[E-MAIL ADDRESS DELETED]
2007年 6月 22日 (金) 13:25:49 JST
お世話になっております。
小谷です。
子テーブル以下の項目に対して条件設定やorder byを使いたい場合についての
質問があります。
子テーブルの項目を使ってorder byを使用することは可能でしょうか?
バージョンは、まだ0.4.6を使ってしまっています。
(以前質問させていただいたときに最新のSNAPSHOTを用意していただいていたのですが、
まだ移行しておりません。申し訳ありません。)
現在やろうとしていることとして、
DBFluteのConditionBean,ConditionQueryを使って
子テーブルの項目を条件とした検索処理を行ないたいと考えております。
そこでソースコードを下記のように書いてみました。
以下の条件、ソートを設定し、検索結果を取得しようとしています。
・孫テーブル1のVALUEという列が「aiueo」
・子テーブルのAAA_DATETIME列が2000/1/1 09:00:00〜2000/2/2 09:30:00
・孫テーブル2のVERSION_NO昇順、子テーブルのDISPLARY_ORDERの昇順でソート
// ## Arrange ##
FromToOption opt = new FromToOption();
HogeGrandChild1CB grandChildCB1 = new HogeGrandChild1CB ();
grandChildCB1.query().setValue_Equal("aiueo");
HogeGrandChild2CB grandChildCB2 = new HogeGrandChild2CB ();
grandChildCB2.query().addOrderBy_VersionNo_Asc();
HogeChildCB childCB = new HogeChildCB ();
childCB.query().setAaaDatetime_FromTo(
Timestamp.valueOf("2000-01-01 09:00:00"),
Timestamp.valueOf("2000-02-02
09:30:00"), opt);
childCB.query().addOrderBy_DisplayOrder_Asc();
childCB.query().setUid_InScopeSubQuery_HogeGrandChild1List(
grandChild1CB.query());
childCB.query().setUid_InScopeSubQuery_HogeGrandChild2List(
grandChild2CB.query());
HogeCB hogeCB = new HogeCB();
hogeCB.query().setUid_InScopeSubQuery_HogeChildList(childCB.query
());
// ## Act ##
List<Hoge> resultList = hogeBhv.delegateSelectList(hogeCB);
実行してみたところ以下のようなSQLが出力されました。
select (省略)
from hoge
where hoge.uid in (
select (省略)
from hoge_child
where hoge_child.apply_datetime >= '2000-01-01 09.00.00'
and hoge_child.apply_datetime <= '2000-02-02 09.30.00'
and hoge_child.uid in (
select (省略)
from hoge_grand_child1
where hoge_grand_child1.value = 'aiueo')
and hogeChild.uid in (
select (省略)
from hoge_grand_child2 )
)
指定したorder by句が出力されていないようでした。
そもそもConditionBeanの設定の仕方は正しいのか、という点と
子テーブル以下の項目を使ったorder byは可能なのか、という点について
お教えいただけたらと思います。
よろしくお願い致します。
=========================================
小谷 圭
[E-MAIL ADDRESS DELETED]
=========================================
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070622/74ef8c0a/attachment.html
Seasar-user メーリングリストの案内