Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
ここでは,JPQL使用時の注意事項について説明します。
表6-23 ANDの3値論理式(A AND Bの結果)
A | B | ||
---|---|---|---|
True | False | Unknown | |
True | True | False | Unknown |
False | False | False | False |
Unknown | Unknown | False | Unknown |
表6-24 ORの3値論理式(A OR Bの結果)
A | B | ||
---|---|---|---|
True | False | Unknown | |
True | True | True | True |
False | True | False | Unknown |
Unknown | True | Unknown | Unknown |
表6-25 NOTの3値論理式(NOT Aの結果)
A | NOT Aの結果 |
---|---|
True | False |
False | True |
Unknown | Unknown |
HiRDBでJPQLを使用する場合に使用できないクエリの記述例を次に示します。
使用できない例1:関数の引数に位置パラメタを指定する
Query query1 = em.createQuery( "SELECT o FROM TestEntity o "+ "WHERE o.name=TRIM(LEADING FROM ?1)") .setParameter(1, " SatoTaro"); |
使用できない例2:四則演算子に位置パラメタを指定する
int no_A=2; int no_B=4; Query query2 = em.createQuery( "SELECT o FROM TestEntity o WHERE o.id = ?1 + ?2") .setParameter(1, no_A) .setParameter(2, no_B); |
使用できない例3:比較演算子に位置パラメタを指定する
int cmp_no=3; Query query3 = em.createQuery( "SELECT o FROM TestEntity o WHERE o.id = ?1 AND ?1 < 9") .setParameter(1, cmp_no); |
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.