Class ControllerOfSqlMacro

java.lang.Object
jp.ecuacion.util.jpa.dao.sqlmacro.ControllerOfSqlMacro

public class ControllerOfSqlMacro extends Object
  • Constructor Details

    • ControllerOfSqlMacro

      public ControllerOfSqlMacro()
  • Method Details

    • adaptSqlMacro

      public SqlInfo adaptSqlMacro(SqlInfo info, Class<?> entityClass) throws jp.ecuacion.lib.core.exception.checked.BizLogicAppException
      sql.propertiesで使えるsqlマクロに対して、それを変換して標準のsqlにする処理
      ※この処理は、SQL自体を解釈するものではない。そのため、SQL自体に間違いがあってもそのまま出力するのが仕様。 ・マクロは必ず「{+」で始まる。
      Throws:
      jp.ecuacion.lib.core.exception.checked.BizLogicAppException
    • jqplParameterize

      public String jqplParameterize(String jpql)
      select ... where a = ? and b = ? を select ... where a = ?1 and b = ?2 のように、jpqlの形式である?+連番の形に変更する
    • removeElementsFromArray

      public Object[] removeElementsFromArray(Object[] objs, int numOfRemoval) throws jp.ecuacion.lib.core.exception.checked.BizLogicAppException
      objsの配列の先頭から、numOfRemovalで指定された個数だけ要素を除去し、次の要素が新しいObject[]の0番目となるようにする。
      Throws:
      jp.ecuacion.lib.core.exception.checked.BizLogicAppException
    • addElementsToArray

      public Object[] addElementsToArray(Object[] objs, Object[] objsToAdd)
      objsの先頭に、objsToAddの要素を付け加える。objsToAddの要素数が3だとすると、処理後のobjs[0]は4番目に移動する。
    • getMacroNameFromMacroPartSql

      public String getMacroNameFromMacroPartSql(String sqlId, String macroPartSql) throws jp.ecuacion.lib.core.exception.checked.BizLogicAppException
      macroPartSqlからmacro名を取得。
      この時点では、当然ながらmacro名が分かっていないので、static methodとしてabstract classに実装することで、 abstract classからそのまま呼び出せるようにしている
      Throws:
      jp.ecuacion.lib.core.exception.checked.BizLogicAppException