Package play.db.jpa
Class DefaultJPAApi
- Object
-
- play.db.jpa.DefaultJPAApi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DefaultJPAApi.JPAApiProvider
-
Constructor Summary
Constructors Constructor Description DefaultJPAApi(JPAConfig jpaConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description jakarta.persistence.EntityManager
em(String name)
Get a newly created EntityManager for the specified persistence unit name.void
shutdown()
Close all entity manager factories.JPAApi
start()
Initialise JPA entity manager factories.void
withTransaction(String name, boolean readOnly, Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.<T> T
withTransaction(String name, boolean readOnly, Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.void
withTransaction(String name, Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.<T> T
withTransaction(String name, Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.void
withTransaction(Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the default Persistence Unit.<T> T
withTransaction(Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the default Persistence Unit.
-
-
-
Constructor Detail
-
DefaultJPAApi
public DefaultJPAApi(JPAConfig jpaConfig)
-
-
Method Detail
-
start
public JPAApi start()
Initialise JPA entity manager factories.
-
em
public jakarta.persistence.EntityManager em(String name)
Get a newly created EntityManager for the specified persistence unit name.
-
withTransaction
public <T> T withTransaction(Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the default Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Type Parameters:
T
- type of result- Parameters:
block
- Block of code to execute- Returns:
- code execution result
-
withTransaction
public void withTransaction(Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the default Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Parameters:
block
- Block of code to execute
-
withTransaction
public <T> T withTransaction(String name, Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Type Parameters:
T
- type of result- Parameters:
name
- The persistence unit nameblock
- Block of code to execute- Returns:
- code execution result
-
withTransaction
public void withTransaction(String name, Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Parameters:
name
- The persistence unit nameblock
- Block of code to execute
-
withTransaction
public <T> T withTransaction(String name, boolean readOnly, Function<jakarta.persistence.EntityManager,T> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Type Parameters:
T
- type of result- Parameters:
name
- The persistence unit namereadOnly
- Is the transaction read-only?block
- Block of code to execute- Returns:
- code execution result
-
withTransaction
public void withTransaction(String name, boolean readOnly, Consumer<jakarta.persistence.EntityManager> block)
Run a block of code with a newly created EntityManager for the named Persistence Unit.- Specified by:
withTransaction
in interfaceJPAApi
- Parameters:
name
- The persistence unit namereadOnly
- Is the transaction read-only?block
- Block of code to execute
-
-