java.lang.Object
jp.ecuacion.util.jpa.dao.sqlmacro.ControllerOfSqlMacro
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadaptSqlMacro(SqlInfo info, Class<?> entityClass) sql.propertiesで使えるsqlマクロに対して、それを変換して標準のsqlにする処理
※この処理は、SQL自体を解釈するものではない。Object[]addElementsToArray(Object[] objs, Object[] objsToAdd) objsの先頭に、objsToAddの要素を付け加える。getMacroNameFromMacroPartSql(String sqlId, String macroPartSql) macroPartSqlからmacro名を取得。jqplParameterize(String jpql) select ... where a = ?Object[]removeElementsFromArray(Object[] objs, int numOfRemoval) objsの配列の先頭から、numOfRemovalで指定された個数だけ要素を除去し、次の要素が新しいObject[]の0番目となるようにする。
-
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
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
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
-