nl.knowledgeplaza.util.jpa
Class JpaUtil

java.lang.Object
  extended by nl.knowledgeplaza.util.jpa.JpaUtil
Direct Known Subclasses:
EclipselinkUtil

public class JpaUtil
extends Object


Nested Class Summary
static interface JpaUtil.JpaEntityInformation
          Used a.o. by JpaObjectNavigatorModel to decide whether to do a merge or persist upon save
 
Field Summary
static String SOURCECODE_VERSION
          Standard variable for determining version of a class file.
 
Constructor Summary
JpaUtil()
           
 
Method Summary
static void clear()
          Clean the active EntityManager and the associated EntityManagerChangeCount
static void clear(javax.persistence.EntityManager lEntityManager)
          Clean the EntityManager and the associated EntityManagerChangeCount
static void clear2ndLevelCache(javax.persistence.EntityManagerFactory emf)
          Invalidate second level cache
static void close(javax.persistence.EntityManager entityManager)
           
static void close(javax.persistence.EntityManagerFactory entityManagerFactory)
           
static List<Class> collectEntityClasses(InputStream persistenceXmlInputStream)
           
static Connection getJdbcConnection(javax.persistence.EntityManager entityManager)
          Get JDBC connection.
static Object getSingleResultOrDefault(javax.persistence.Query lQuery, Object d)
          getSingleResult throws an exception if nothing is found.
static Object getSingleResultOrNull(javax.persistence.Query lQuery)
          getSingleResult throws an exception if nothing is found.
static Object mergeImmediately(javax.persistence.EntityManager entityManager, Object entity)
          Persist an offline object by starting a transaction and merging the entity
static Object mergeImmediately(Object entity)
           
static void persistImmediately()
          persist all offline but persisted entities
static void persistImmediately(javax.persistence.EntityManager entityManager)
          persist entity
static void persistImmediately(javax.persistence.EntityManager entityManager, Object entity)
          Persist an offline object by starting a transaction and persisting the entity
static void persistImmediately(Object entity)
          persist entity
static void removeImmediately(javax.persistence.EntityManager entityManager, Object entity)
          Persist an offline object by starting a transaction and merging the entity
static void removeImmediately(Object entity)
           
static javax.persistence.EntityManager stripEntityManager(javax.persistence.EntityManager entityManager)
          Cast to JpaEntityManager, but first see if this is the EntityManagerExtender proxy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SOURCECODE_VERSION

public static final String SOURCECODE_VERSION
Standard variable for determining version of a class file.

See Also:
Constant Field Values
Constructor Detail

JpaUtil

public JpaUtil()
Method Detail

stripEntityManager

public static javax.persistence.EntityManager stripEntityManager(javax.persistence.EntityManager entityManager)
Cast to JpaEntityManager, but first see if this is the EntityManagerExtender proxy

Parameters:
entityManager -
Returns:

persistImmediately

public static void persistImmediately(javax.persistence.EntityManager entityManager,
                                      Object entity)
Persist an offline object by starting a transaction and persisting the entity


persistImmediately

public static void persistImmediately(Object entity)
persist entity

Parameters:
entity -

persistImmediately

public static void persistImmediately(javax.persistence.EntityManager entityManager)
persist entity

Parameters:
entity -

persistImmediately

public static void persistImmediately()
persist all offline but persisted entities


mergeImmediately

public static Object mergeImmediately(javax.persistence.EntityManager entityManager,
                                      Object entity)
Persist an offline object by starting a transaction and merging the entity


mergeImmediately

public static Object mergeImmediately(Object entity)

removeImmediately

public static void removeImmediately(javax.persistence.EntityManager entityManager,
                                     Object entity)
Persist an offline object by starting a transaction and merging the entity


removeImmediately

public static void removeImmediately(Object entity)

clear

public static void clear(javax.persistence.EntityManager lEntityManager)
Clean the EntityManager and the associated EntityManagerChangeCount


clear

public static void clear()
Clean the active EntityManager and the associated EntityManagerChangeCount


getSingleResultOrNull

public static Object getSingleResultOrNull(javax.persistence.Query lQuery)
getSingleResult throws an exception if nothing is found. The method returns null in that case.

Parameters:
lQuery -
Returns:

getSingleResultOrDefault

public static Object getSingleResultOrDefault(javax.persistence.Query lQuery,
                                              Object d)
getSingleResult throws an exception if nothing is found. The method returns the default in that case.

Parameters:
lQuery -
Returns:

getJdbcConnection

public static Connection getJdbcConnection(javax.persistence.EntityManager entityManager)
Get JDBC connection. You should be in a JPA transaction to access the Connection. Otherwise, you will be responsible for releasing the connection.

Parameters:
entityManager -
Returns:

clear2ndLevelCache

public static void clear2ndLevelCache(javax.persistence.EntityManagerFactory emf)
Invalidate second level cache

Parameters:
EntityManagerFactory - (hint: em.getEntityManagerFactory() )

collectEntityClasses

public static List<Class> collectEntityClasses(InputStream persistenceXmlInputStream)
                                        throws IOException
Throws:
IOException

close

public static void close(javax.persistence.EntityManager entityManager)
Parameters:
entityManager -

close

public static void close(javax.persistence.EntityManagerFactory entityManagerFactory)
Parameters:
entityManagerFactory -


Copyright © 2012 KnowledgePlaza. All Rights Reserved.