[Seasar-user:5201] Re: [S2DAO] SELECT文のversionNoについて

kubo [E-MAIL ADDRESS DELETED]
2006年 11月 20日 (月) 00:16:39 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 メーリングリストの案内