[Seasar-user:1070] S2DAO不具合

Taro Kato kato
2004年 10月 5日 (火) 12:18:21 JST


比嘉さん、こんにちわ。

実案件で2つ立ち上がっていて、それぞれS2DAOを使っています。

まず1つ目の不具合です。
テーブルの参照キーが2つのテーブル間で
2つ以上の項目があり、項目名が異なる
アノテーションの場合に、JOIN句がメチャクチャな
組み合わせになります。

具体的には、

> FKにて
> 
> static public final String field_0_RELKEYS =
>    "Ref_Table_Id,Ref_Field_Code:Table_Id,Field_Number";
> 
> と指定していると
> 
> SELECT(省略)FROM webinfouser.Field 
> LEFT OUTER JOIN webinfouser.Field field_0
>  ON webinfouser.Field.Ref_Table_Id = field_0.Ref_Table_Id
>   AND webinfouser.Field.Ref_Field_Code = field_0.Table_Id
>   AND webinfouser.Field.Field_Number = field_0.Field_Number 

という感じになります。
 other_RELKEYS="A,B:C,D" の時には、 
 ON A=other.C AND B=other.D になると解釈していますが
合ってますでしょうか?もしそうしたい場合のアノテーション定義が
あれば教えてもらえると助かります。


もう1つの不具合としては、
 
update文で、WHERE句がどうも切れてしまいます。

UPDATE xxx SET a=xxx, b=xxx W

…のようになって、「Wの前後でエラー」というSQL例外が
発生します。DBMSはSQLServerです。同じ現象に別の同僚が
以前、悩まされたのですが、試行錯誤中に治った(おいおい
原因がわかんないままじゃいかんだろうという感じですが)
のですが、今日あらたに別の同僚がこの現象に合うように
なりました。
「ソースコードから原因追って修正してフィードバックして」
と同僚には言おうかと思いますが(それが通じるかともかく)
一方でもし原因などが直ぐに分かって対処可能であれば
修正箇所をお伝えいただければ大変助かります。

両方とも S2DAO、Seaser2は 最新です。

どうかよろしくお願いします。


[[[[[[[[[[[[[[[[[[[[[[ G l u e g e n t , I n c .
[[[[[[[[[[     [[[[[[[
[[[[[[      [[[[[[[[[[
[[[[      [[[[[[[[[[[[    http://www.gluegent.com/
[[      [[[[[[    [[[[
[[[         [[[[   [[[ System Development Division
[[[[[[[[[[[[[[   [[[[[
[[[[[[[[[[[[   [[[[[[[    T a r o  K a t o
[[[[[[[[[[  [[[[[[[[[[





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