Class SQLQuery

java.lang.Object
de.tsl2.nano.persistence.SQLQuery
All Implemented Interfaces:
de.tsl2.nano.core.execution.IRunnable<Object,String>

public class SQLQuery extends Object implements de.tsl2.nano.core.execution.IRunnable<Object,String>
provides some convenience for a persistence with an entitymanager with native queries and executions. In a JTA context you have to give a sessioncontext.

NOTE: method get(Class, String, Object...) works not with native query! Use select(String, Object...) instead.

Author:
Thomas Schneider
  • Constructor Details

    • SQLQuery

      public SQLQuery(String persistenceUnitName)
    • SQLQuery

      public SQLQuery(javax.persistence.EntityManager em, javax.ejb.SessionContext sessionContext)
      in a container with JTA context you have to give the @Resource SessionContext to get the UserTransaction
    • SQLQuery

      public SQLQuery(javax.persistence.EntityManager em)
  • Method Details

    • em

      public javax.persistence.EntityManager em()
    • close

      public void close()
    • execute

      public int execute(String stmt, Object... args)
    • select

      public List<?> select(String stmt, Object... args)
    • query

      public <T> javax.persistence.Query query(Class<T> model, String constraints, Object... args)
    • get

      public <T> List<T> get(Class<T> model, String constraints, Object... args)
    • getCount

      public int getCount(Class<?> model, String constraints, Object... args)
    • getInt

      public int getInt(String select, Object... args)
    • withParameters

      public javax.persistence.Query withParameters(javax.persistence.Query query, Object... args)
    • rollbackIfActive

      public void rollbackIfActive()
    • createSessionContextProxyForTest

      public javax.ejb.SessionContext createSessionContextProxyForTest(ClassLoader classLoader)
    • withTransaction

      public <T> T withTransaction(Supplier<T> s)
    • print

      public static <T> T print(String stmt, T result)
    • run

      public Object run(String stmt, Object... args)
      Specified by:
      run in interface de.tsl2.nano.core.execution.IRunnable<Object,String>