[Seasar-user:15548] Re: 【S2JDBC】検索結果0件の時のiterateについて
堀切 哲生
[E-MAIL ADDRESS DELETED]
2008年 8月 27日 (水) 19:25:41 JST
小林さん
お世話になっております。
堀切です。
ありがとうございます。
Long型で受け取り、nullであれば0Lを返すことで回避出来ました。
以上
----
Long result = jdbcManager
.from(AccessCount.class)
.where("userId = ?", userId)
.iterate(
new IterationCallback<AccessCount, Long>() {
Long count = 0L;
public Long iterate(
AccessCount entity,
IterationContext context) {
count += entity.count;
return count;
}
});
return result == null ? 0L : result.longValue();
----- Original Message -----
From: "Koichi Kobayashi" <[E-MAIL ADDRESS DELETED]>
To: "堀切 哲生" <[E-MAIL ADDRESS DELETED]>; <[E-MAIL ADDRESS DELETED]>
Cc: <[E-MAIL ADDRESS DELETED]>
Sent: Wednesday, August 27, 2008 7:00 PM
Subject: Re: [Seasar-user:15543] 【S2JDBC】検索結果0件の時のiterateについて
> 小林 (koichik) です.
>
> Date: Wed, 27 Aug 2008 18:34:40 +0900
> From: 堀切 哲生 <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:15543] 【S2JDBC】検索結果0件の時のiterateについて
>
>> 次の様なコードを検索結果0件になる条件にてJUnitから実行したところ、
>> NullPointerExceptionが発生しました。
> (略)
>> return jdbcManager
>
> この戻り値を long で受け取っているのでは
> ないでしょうか?
>
> long count = 〜
> ^
>> .iterate(new IterationCallback<AccessCount, Long>() {
>
> この iterate() の戻り値型は long ではなく
> Long であり,0 件の場合は null となりますが,
> null からlong へはキャストできないのでヌルポに
> なります.
> 戻り値を Long で受け取るようにしてください.
>
> このケースに該当しない場合はスタックトレースを
> 見せてください.
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
>
Seasar-user メーリングリストの案内