[Seasar-user:21647] Re: order by のカラム名が別名に変換されない

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2013年 7月 6日 (土) 01:34:54 JST


馬場です。

お忙しい中、回答ありがとうございます。

>> >     empItems = jdbcManager.from(Emp.class).where(swh)
>> >                               .orderBy("EMP_NO")
>>
>> このコードは scaffold で生成されたコードですか?
データベース・ビューから「Scaffoldアプリケーションの生成」で
生成されたコードです。

>ソースを見た感じでは scaffold が生成するコードが間違ってるようですね。。。
>週末など時間があるときに修正します。
コード修正よろしくお願いします。

以上

----- Original Message -----
>Date: Fri, 5 Jul 2013 07:00:02 +0900
>From: Koichi Kobayashi <koichik @ improvement.jp>
>To: seasar-user @ ml.seasar.org
>Subject: [Seasar-user:21645] Re:
>	order by のカラム名が別名に変換されない
>
>
>小林 (koichik) です。
>
>会社の PC には Eclipse が入ってないので動かしていませんが、
>ソースを見た感じでは scaffold が生成するコードが間違ってるようですね。。。
>週末など時間があるときに修正します。
>報告ありがとうございました。
>
>
>2013年7月5日 4:55 Koichi Kobayashi <koichik @ improvement.jp>:
>
>> 小林 (koichik) です.
>>
>> > actionクラスのコード
>> >
>> >     empItems = jdbcManager.from(Emp.class).where(swh)
>> >                               .orderBy("EMP_NO")
>>
>> このコードは scaffold で生成されたコードですか?
>> それとも馬場さんが書いたコードでしょうか?
>>
>> もし後者なら、orderBy() で指定するのはカラム名ではなく
>> エンティティクラスに定義したプロパティ名です。
>>
>> http://s2container.seasar.org/2.4/ja/s2jdbc_manager_auto.html#ソート順
>>
>> 「orderBy() に書くことのできる条件は、SQLと同じです。 SQLとの違いは、
>> カラム名の代わりにプロパティ名を書くことです。」
>>
>>
>> On Fri, 5 Jul 2013 00:38:09 +0900 (JST), hiroaki381 @ mbr.nifty.com wrote:
>>
>> > お世話になります。馬場と申します。
>> >
>> > 現在、S2JDBCを利用した開発をおこなっておりますが、件名の現象が発生してお
ります
>> > 。
>> >
>> > ■現象
>> > DoltengのScaffold機能を利用してSaStruts+S2JDBCでScaffold アプリケーション
の生
>> > 成を行い、
>> > 以下の処理のSQL自動生成でカラム名が別名に変更されないため
>> > SQLエラーが発生します。先頭データでは無く、次ページデータ取得時に発生しま
す。
>> >
>> > .orderBy("EMP_NO") を.orderBy("C1_")に変更しますとSQLエラーは発生しません
。
>> >
>> > actionクラスのコード
>> >
>> >     empItems = jdbcManager.from(Emp.class).where(swh)
>> >                               .orderBy("EMP_NO")
>> >
>> .limit(limit).offset(Integer.valueOf(empForm.off
>> > set))
>> >                               .getResultList();
>> >
>> > 自動生成のSQL
>> >
>> > select
>> >   *
>> > from
>> >   (
>> >     select
>> >       temp_.*
>> >       , row_number() over(order by EMP_NO) as rownumber_
>> >     from
>> >       (
>> >         select
>> >           T1_.EMP_NO as C1_
>> >           , T1_.EMP_NAME as C2_
>> >           , T1_.CREATE_DATE as C3_
>> >           , T1_.CREATE_USER_CD as C4_
>> >           , T1_.UPDATE_DATE as C5_
>> >           , T1_.UPDATE_USER_CD as C6_
>> >         from
>> >           EMP_MST T1_
>> >         where
>> >           (T1_.EMP_NO like ? )
>> >       ) as temp_
>> >   ) as temp2_
>> > where
>> >   rownumber_ >= 11
>> >   and rownumber_ <= 20
>> >
>> > ■環境
>> > JDK 6
>> > Tomcat 6
>> > S2Container 2.4.45
>> > S2Tiger 2.4.45
>> > SA Struts 1.0.4 sp9
>> > Dolteng 0.39.0
>> > SQL Server 2008 R2 Express
>> >
>> > 以上、よろしくお願いします。
>> >
>> > _______________________________________________
>> > Seasar-user mailing list
>> > Seasar-user @ ml.seasar.org
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>>
>> --
>> {
>>   name: "Koichi Kobayashi",
>>   mail: "koichik @ improvement.jp",
>>   blog: "http://d.hatena.ne.jp/koichik/",
>>   twitter: "@koichik"
>> }
>>
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>----- inline -----
>_______________________________________________
>Seasar-user mailing list
>Seasar-user @ ml.seasar.org
>https://ml.seasar.org/mailman/listinfo/seasar-user



Seasar-user メーリングリストの案内