public class JPA
extends java.lang.Object
| Constructor and Description |
|---|
JPA() |
| Modifier and Type | Method and Description |
|---|---|
static void |
bindForAsync(javax.persistence.EntityManager em)
Bind an EntityManager to the current HTTP context.
|
static void |
bindForSync(javax.persistence.EntityManager em)
Bind an EntityManager to the current HTTP context.
|
static JPAApi |
createFor(java.lang.String unitName)
Create a default JPAApi with name "default" and the given unit name.
|
static JPAApi |
createFor(java.lang.String name,
java.lang.String unitName)
Create a default JPAApi with the given persistence unit configuration.
|
static javax.persistence.EntityManager |
em()
Get the default EntityManager for this thread.
|
static javax.persistence.EntityManager |
em(java.lang.String key)
Get the EntityManager for a particular persistence unit for this thread.
|
static JPAApi |
jpaApi()
Get JPA api for the current play application.
|
static void |
withTransaction(java.lang.Runnable block)
Run a block of code in a JPA transaction.
|
static <T> T |
withTransaction(java.lang.String name,
boolean readOnly,
java.util.function.Supplier<T> block)
Run a block of code in a JPA transaction.
|
static <T> T |
withTransaction(java.util.function.Supplier<T> block)
Run a block of code in a JPA transaction.
|
static <T> F.Promise<T> |
withTransactionAsync(java.lang.String name,
boolean readOnly,
java.util.function.Supplier<F.Promise<T>> block)
Deprecated.
This may cause deadlocks
|
static <T> F.Promise<T> |
withTransactionAsync(java.util.function.Supplier<F.Promise<T>> block)
Deprecated.
This may cause deadlocks
|
public static JPAApi createFor(java.lang.String name, java.lang.String unitName)
name - the EntityManagerFactory's nameunitName - the persistence unit's namepublic static JPAApi createFor(java.lang.String unitName)
unitName - the persistence unit's namepublic static JPAApi jpaApi()
public static javax.persistence.EntityManager em(java.lang.String key)
key - name of the EntityManager to returnpublic static javax.persistence.EntityManager em()
java.lang.RuntimeException - if no EntityManager is bound to the current Http.Context or the current Thread.public static void bindForSync(javax.persistence.EntityManager em)
em - the EntityManager to bind to this HTTP context.public static void bindForAsync(javax.persistence.EntityManager em)
em - the EntityManager to bindjava.lang.RuntimeException - if no HTTP context is present.public static <T> T withTransaction(java.util.function.Supplier<T> block)
T - return type of the blockblock - Block of code to execute.@Deprecated public static <T> F.Promise<T> withTransactionAsync(java.util.function.Supplier<F.Promise<T>> block)
T - return type of the blockblock - Block of code to execute.public static void withTransaction(java.lang.Runnable block)
block - Block of code to execute.public static <T> T withTransaction(java.lang.String name,
boolean readOnly,
java.util.function.Supplier<T> block)
T - return type of the provided blockname - The persistence unit namereadOnly - Is the transaction read-only?block - Block of code to execute.@Deprecated public static <T> F.Promise<T> withTransactionAsync(java.lang.String name, boolean readOnly, java.util.function.Supplier<F.Promise<T>> block)
T - return type of the blockname - The persistence unit namereadOnly - Is the transaction read-only?block - Block of code to execute.