teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

間違っていたため修正

2020/09/08 09:17

投稿

root_jp
root_jp

スコア4666

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  戻り値の型を指定するためです。
2
2
  第2引数に型を指定することにより、キャストが不要になります。
3
- `createNamedQuery`が`Long`を返してくれるようになるということです。
4
3
 
5
4
  今回は`Long`ではなくて、プリミティブの`long`にしたいためにキャストをしているようですが、
6
5
  プリミティブな値を取るメソッドが用意されているので、そちらを使えばいいかと思います。
7
6
  ```Java
7
+ // createNamedQueryでLong.classを指定していることにより、下記のgetSingleResult()がLongを返してくれるようになる
8
8
  long messages_count = em.createNamedQuery("getMessagesCount", Long.class).getSingleResult().longValue();
9
9
  ```