[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 メーリングリストの案内