[Seasar-user:8771] [S2Dao] Tiger アノテーションで、 in を指定すると失敗する
松山 大樹
[E-MAIL ADDRESS DELETED]
2007年 6月 28日 (木) 14:54:15 JST
松山です。
S2Dao で、
public static final String getHoge_ARGS = "aUserNo,aLessonIDList";
public static final String getHoge_QUERY = "userNo = /*aUserNo*/'001' and lessonID in /*aLessonIDList*/(1,2,3)";
public List<HogeData> getHoge(String aUserNo, List<Integer> aLessonIDList);
と記述すると、正しく実行されますが、これをTigerアノテーションで
@Arguments("aUserNo,aLessonIDList")
@Query("userNo = /*aUserNo*/'001' and lessonID in /*aLessonIDList*/(1,2,3)")
と記述しなおすと、
DEBUG 2007-06-28 14:40:26,294 BEGIN jp.co.hoge.dao.HogeDao#getHoge(001, [1, 2])
WARN 2007-06-28 14:40:27,199 引数(aUserNo)が見つかりません
WARN 2007-06-28 14:40:27,199 引数(aUserNo)が見つかりません
WARN 2007-06-28 14:40:27,199 引数(aLessonIDList)が見つかりません
DEBUG 2007-06-28 14:49:13,152 SELECT ... FROM HogeData WHERE userNo = null and lessonID in
となり、正しく実行されません。
順序を逆にして、
@Arguments("aLessonIDList,aUserNo")
@Query("lessonID in /*aLessonIDList*/(1,2,3) and userNo = /*aUserNo*/'001'")
でも同じです。
引数をList だけにして、
@Arguments("aLessonIDList")
@Query("lessonID in /*aLessonIDList*/(1,2,3)")
だと正しく実行されます。
何か、Tigerアノテーションで記述するときに、特別なルールとかありますか?
s2-framework-2.4.13.jar
s2-extension-2.4.13.jar
s2-tiger-2.4.13.jar
s2-dao-1.0.44.jar
s2-dao-tiger-1.0.44.jar
です。
--
::: 株式会社WOWOWコミュニケーションズ http://www.wowcom.co.jp/
::: ITシステムインテグレートサービスDept.
::: Webソリューション開発Unit.
::: 松山 大樹 - [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内