本日も小ネタなので2つ同時に扱います。
Contents
JPAの算術関数
JPAでは以前、MySQLなどと同じように算術関数を使えると書きました。
参考記事:JPQLでの算術関数
この場合、戻り値が必ずLongになります。
通常数値はintを使うことが多いと思うのでこれをIntegerのままで実行しようとするとエラーが発生しますので注意。
あるいは下記のようにLongをIntegerに変換してあげればOKです。
例:ScoreはidとscoreAmount(点数:Integer)をもったクラスだとし、このscoreAmountのトータル値(SUM)を求めるとします。
1 2 3 |
Query query = em.createQuery(" select sum(s.scoreAmount) FROM Score s , Score.class); Object sum = query.getSingleResult(); return Integer.parseInt(sum.toString()); |
上記のように変更してあげればOKです。
mavenのコンパイル
mavenでコンパイルを行うとき下記プラグインをいれていないと正常にコンパイルされないようです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> |
いつもJavaの開発はNetbeansを使いますが、コードを編集しているときにはエラーがでていないのに、いざビルドしようとするとエラーになる・・・という意味不明なエラーがおこっていました。
正常にうごいているものとの差分をみると上記の部分が欠けていました。
mavenでコンパイルするときはこのプラグインの記述を忘れないようにしましょう。(バージョンなどは当然その都度で変わります。)