クラス Expression


  • public class Expression
    extends java.lang.Object

    式クラス

     Criteria APIで使用する式(Expression)を表現する。
     (ex.) Expression.equal(School.class.getDeclaredField("id"), 10)
           → (SQL) SCHOOL.ID = 10
     本クラスで生成することができる式(Expression)は以下となります。
        1.  equal(=):等価式
        2.  greaterThan(>):大なり式
        3.  lessThan(<):小なり式
        4.  greaterEqual(>=):大なりイコール式
        5.  lessEqual(<=):小なりイコール式
        6.  notEqual(><):不等価式
        7.  not(!):否定式
        8.  isNull(IS NULL):NULLイコール式
        9.  isNotNull(IS NOT NULL):NULLノットイコール式
        10. between(BETWEEN A AND B):範囲式
        11. in(IN (A, B, C)):IN式
        12. like(LIKE 'ZZZ'):LIKE式
        13. and(AND(Expression...)):論理積指定式
        14. or(OR((Expression...))):論理和指定式
        15. asc(A ASC):昇順式
        16. desc(A DESC):降順式
        17. as(A AS ZZZ):別名式
        18. count(COUNT(A)):カウント式
        19. sum(SUM(A)):合計式
        20. avg(AVG(A)):平均値式
        21. max(MAX(A)):最大値式
        22. min(MIN(A)):最小値式
     
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      protected java.lang.String _expressionStr
      式文字列
    • コンストラクタの概要

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected Expression​(java.lang.String expressionStr)
      コンストラクタ
    • フィールドの詳細

      • _expressionStr

        protected java.lang.String _expressionStr
        式文字列
    • コンストラクタの詳細

      • Expression

        protected Expression​(java.lang.String expressionStr)

        コンストラクタ

        パラメータ:
        expressionStr - 式文字列
    • メソッドの詳細

      • getExpressionStr

        public java.lang.String getExpressionStr()

        式文字列取得

        戻り値:
        式文字列
      • setExpressionStr

        public void setExpressionStr​(java.lang.String _expressionStr)

        式文字列設定

        パラメータ:
        _expressionStr - 設定する式文字列
      • equal

        public static Expression equal​(java.lang.reflect.Field field,
                                       java.lang.Object obj)

        等価式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        等価式
      • greaterThan

        public static Expression greaterThan​(java.lang.reflect.Field field,
                                             java.lang.Object obj)

        大なり式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        大なり式
      • lessThan

        public static Expression lessThan​(java.lang.reflect.Field field,
                                          java.lang.Object obj)

        小なり式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        小なり式
      • greaterEqual

        public static Expression greaterEqual​(java.lang.reflect.Field field,
                                              java.lang.Object obj)

        大なりイコール式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        大なりイコール式
      • lessEqual

        public static Expression lessEqual​(java.lang.reflect.Field field,
                                           java.lang.Object obj)

        小なりイコール式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        小なりイコール式
      • notEqual

        public static Expression notEqual​(java.lang.reflect.Field field,
                                          java.lang.Object obj)

        不等価式

        パラメータ:
        field - エンティティフィールド
        obj - 値
        戻り値:
        不等価式
      • not

        public static Expression not​(Expression expression)

        NOT式

        パラメータ:
        expression - 評価式
        戻り値:
        NOT式
      • isNull

        public static Expression isNull​(java.lang.reflect.Field field)

        IS NULL式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        IS NULL式
      • isNotNull

        public static Expression isNotNull​(java.lang.reflect.Field field)

        IS NOT NULL式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        IS NOT NULL式
      • between

        public static Expression between​(java.lang.reflect.Field field,
                                         java.lang.Object min,
                                         java.lang.Object max)

        BETWEEN式

        パラメータ:
        field - エンティティフィールド
        min - 最小値
        max - 最大値
        戻り値:
        BETWEEN式
      • in

        public static Expression in​(java.lang.reflect.Field field,
                                    java.lang.Object... objs)

        IN式

        パラメータ:
        field - エンティティフィールド
        objs - 値配列
        戻り値:
        IN式
      • like

        public static Expression like​(java.lang.reflect.Field field,
                                      java.lang.String match)

        LIKE式

        パラメータ:
        field - エンティティフィールド
        match - マッチ文字列
        戻り値:
        LIKE式
      • and

        public static Expression and​(Expression... expressions)

        AND式

         パラメータの式配列をパーレン(丸括弧)で括って、AND結合する。
         
        パラメータ:
        expressions - 式配列
        戻り値:
        AND式
      • or

        public static Expression or​(Expression... expressions)

        OR式

         パラメータの式配列をパーレン(丸括弧)で括って、OR結合する。
         
        パラメータ:
        expressions - 式配列
        戻り値:
        OR式
      • asc

        public static Expression asc​(java.lang.reflect.Field field)

        ORDER BY句(ACCENDING)

        パラメータ:
        field - エンティティフィールド
        戻り値:
        ORDER BY句(ACCENDING)
      • desc

        public static Expression desc​(java.lang.reflect.Field field)

        ORDER BY句(DESCENDING)

        パラメータ:
        field - エンティティフィールド
        戻り値:
        ORDER BY句(DESCENDING)
      • as

        public static Expression as​(java.lang.Object obj,
                                    java.lang.String aliasName)

        別名式

         Field or Expressionの情報から第2引数として指定された別名式を生成する。
         
        パラメータ:
        obj - フィールド or Expression式
        aliasName - 別名
        戻り値:
        別名式
      • count

        public static Expression count​(java.lang.Object obj)

        COUNT式

        パラメータ:
        obj - カウント対象カラム(「*」or フィールド)
        戻り値:
        COUNT式
      • sum

        public static Expression sum​(java.lang.reflect.Field field)

        SUM式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        SUM式
      • avg

        public static Expression avg​(java.lang.reflect.Field field)

        AVG式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        AVG式
      • max

        public static Expression max​(java.lang.reflect.Field field)

        MAX式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        MAX式
      • min

        public static Expression min​(java.lang.reflect.Field field)

        MIN式

        パラメータ:
        field - エンティティフィールド
        戻り値:
        MIN式
      • generateSimpleExpression

        protected static Expression generateSimpleExpression​(java.lang.reflect.Field field,
                                                             java.lang.Object obj,
                                                             java.lang.String operator)

        シンプルな2項式を生成

         シンプルな2項式を生成する。(ex.) MST_SCHOOL.ID >= 10
         
        パラメータ:
        field - エンティティフィールド
        obj - 値
        operator - 演算子
        戻り値:
        2項式