[Seasar-user:16383] Re: S2jdbc でビット演算子の条件を加えたい
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 11月 26日 (水) 14:45:28 JST
ひがさん
ありがとうございます。
furukawaです。
少々複雑なSQL文ですので、今回はSQLファイルでに記述しようと
試してみたのですが、以下のようなエラーが発生してどうも
動かすことができません。
何か分かりますでしょうか。
2008-11-26 14:36:21,984 [http-8080-1] DEBUG
org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl -
[ESSR0072]SQL
で例外(SQL=[null],
Message=[[ESSR0017]例外が発生しました。理由はjava.io.EOFException : [null],
ErrorCode=0, SQLState=null)
が発生しました
org.seasar.framework.exception.SQLRuntimeException:
[ESSR0072]SQLで例外(SQL=[null], Message=[[ESSR0017]
例外が発生しました。理由はjava.io.EOFException : [null], ErrorCode=0,
SQLState=null)
が発生しました
---
Caused by: org.seasar.framework.exception.SSQLException: [ESSR0017]例外が
発生しました。理由はjava.io.EOFException
at
org.seasar.extension.jdbc.types.SerializableType.deserialize(SerializableType.java:128)
ソースは以下の通りです。(テーブル名は変更しています)
[java]
List<Aaa> AaaList = selectBySqlFile(
Aaa.class, "getListByConditionDto")
.getResultList();
[sql]
select * from aaa
--- Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:
> ひがです。
>
> > お世話になります、furukawaです。
> >
> > s2jdbcで、”aaa & 1
> ”のようなビット演算比較の条件式を加えたいのですが、
> > どのように記述したらよいのでしょうか。
> >
> > -----------
> > .where(
> > and(
> > eq(areaLCode(), condDto.areaLCode),
> > //--ここにビット演算子の比較条件を加えたい
> > )
> > )
>
> タイプセーフな書き方だと、ビット演算はサポートしていません。
> お使いのRDBMSがビット演算をサポートしているなら、
> whereメソッドに文字列で指定してください。
> 例えば、PostgreSQLなら次のようになります。
>
> where("areaLCode & ?", condDto.areadLCode)
>
> S2JDBCでは、SQLのwhere句がそのまま使えます。
> ただし、カラム名は、プロパティ名に変更してください。
>
> よろしくお願いします。
>
Seasar-user メーリングリストの案内