概要
このページでは、Criteriaクラスの各メソッドの引数として使用する式表現(Expression)のご説明をしていきます。
Expressionクラスには以下のメソッドがあります。
equal |
等価式 |
greaterThan |
大なり式 |
lessThan |
小なり式 |
greaterEqual |
大なりイコール式 |
lessEqual |
小なりイコール式 |
notEqual |
不等価式 |
not |
否定式 |
isNull |
NULLイコール式 |
isNotNull |
NULLノットイコール式 |
between |
範囲式 |
in |
IN式 |
like |
LIKE式 |
and |
論理積指定式 |
or |
論理和指定式 |
asc |
昇順式 |
desc |
降順式 |
as |
別名式 |
count |
カウント式 |
sum |
合計式 |
avg |
平均値式 |
max |
最大値式 |
min |
最小値式 |
各メソッドの説明
以下でExpressionクラスの各メソッドのご説明をしていきます。
equal(等価式)
指定 |
Expression.equal(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id = 3 |
greaterThan(大なり式)
指定 |
Expression.greaterThan(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id > 3 |
lessThan(小なり式)
指定 |
Expression.lessThan(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id < 3 |
greaterEqual(大なりイコール式)
指定 |
Expression.greaterEqual(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id >= 3 |
lessEqual(小なりイコール式)
指定 |
Expression.lessEqual(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id <= 3 |
notEqual(不等価式)
指定 |
Expression.notEqual(School.class.getDeclaredField("id"), 3) |
式表現 |
mst_school.id <> 3 |
not(否定式)
指定 |
Expression.not(Expression.greaterEqual(School.class.getDeclaredField("id"), 3)) |
式表現 |
NOT(mst_school.id <= 3) |
isNull(NULLイコール式)
指定 |
Expression.isNull(School.class.getDeclaredField("name")) |
式表現 |
mst_school.name IS NULL |
isNotNull(NULLノットイコール式)
指定 |
Expression.isNotNull(School.class.getDeclaredField("name")) |
式表現 |
mst_school.name IS NOT NULL |
between(範囲式)
指定 |
Expression.between(School.class.getDeclaredField("id"), 3, 7) |
式表現 |
mst_school.id BETWEEN 3 AND 7 |
in(IN式)
指定 |
Expression.in(School.class.getDeclaredField("id"), 3, 5, 7) |
式表現 |
mst_school.id IN (3, 5, 7) |
like(LIKE式)
指定 |
Expression.like(School.class.getDeclaredField("name"), "関西%") |
式表現 |
mst_school.name LIKE '関西%' |
and(論理積指定式)
指定 |
Expression.and(Expression.greaterEqual(School.class.getDeclaredField("id"), 3),Expression.like(School.class.getDeclaredField("name"), "関西%")) |
式表現 |
(mst_school.id >= 3 AND mst_school.name LIKE '関西%') |
or(論理和指定式)
指定 |
Expression.or(Expression.greaterEqual(School.class.getDeclaredField("id"), 3),Expression.like(School.class.getDeclaredField("name"), "関西%")) |
式表現 |
(mst_school.id >= 3 OR mst_school.name LIKE '関西%') |
asc(昇順式)
指定 |
Expression.asc(School.class.getDeclaredField("id")) |
式表現 |
mst_school.id ASC |
desc(降順式)
指定 |
Expression.desc(School.class.getDeclaredField("id")) |
式表現 |
mst_school.id DESC |
as(別名式)
指定 |
Expression.as(School.class.getDeclaredField("id"), "schoolId") |
式表現 |
mst_school.id AS schoolId |
count(カウント式)
指定 |
Expression.count(School.class.getDeclaredField("id")) |
式表現 |
COUNT(mst_school.id) |
sum(合計式)
指定 |
Expression.sum(School.class.getDeclaredField("id")) |
式表現 |
SUM(mst_school.id) |
avg(平均値式)
指定 |
Expression.avg(School.class.getDeclaredField("id")) |
式表現 |
AVG(mst_school.id) |
max(最大値式)
指定 |
Expression.max(School.class.getDeclaredField("id")) |
式表現 |
MAX(mst_school.id) |
min(最小値式)
指定 |
Expression.min(School.class.getDeclaredField("id")) |
式表現 |
MIN(mst_school.id) |