[Seasar-user:7278] Re: [S2DAO] SELECT??versionNo????

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 4月 13日 (金) 11:31:37 JST


久保です。

> としたいのですが
> (1)のSQLが [SELECT 〜省略〜 WHERE code = 100 and version_no = 0]
> となるために、自作のSQLをわざわざ作って
>   dto =	dataTableDtoDao.selectByPk(dto.getCode()); ←(1)
> としています

> DataTableDto
>  private int code;
>  private String name;
>  private int versionNo;

こちらですが、おそらく DataTableDto の versionNo が int 型のため、
Javaのint型のデフォルト値「0」が有効となってWhere句に
「and version_no = 0」が付与されてしまうのかと思います。

解決方法は人それぞれかもしれませんが、
・QUERYアノテーションを利用して、「code = /*code*/0」を指定する
・intをIntegerやBigDecimalなどのNullableな型に変える
などになるかと思います。





#
# ちなみに自分なんかは、数値は全てBigDecimal統一してます。
#


-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
kubo   <[E-MAIL ADDRESS DELETED]>
jflute <http://d.hatena.ne.jp/jflute>
株式会社ビルドシステム <http://www.buildsystem.co.jp>
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: NotesDocAssentor.NOTE
型:         application/octet-stream
サイズ:     6298 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20070413/403feb82/attachment.obj 


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