Initial commit
This commit is contained in:
50
src/main/java/jpa/EntityManagerHelper.java
Normal file
50
src/main/java/jpa/EntityManagerHelper.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package jpa;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityManagerFactory;
|
||||
import jakarta.persistence.Persistence;
|
||||
|
||||
public class EntityManagerHelper {
|
||||
|
||||
private static final EntityManagerFactory emf;
|
||||
private static final ThreadLocal<EntityManager> threadLocal;
|
||||
|
||||
static {
|
||||
emf = Persistence.createEntityManagerFactory("dev");
|
||||
threadLocal = new ThreadLocal<EntityManager>();
|
||||
}
|
||||
|
||||
public static EntityManager getEntityManager() {
|
||||
EntityManager em = threadLocal.get();
|
||||
|
||||
if (em == null) {
|
||||
em = emf.createEntityManager();
|
||||
threadLocal.set(em);
|
||||
}
|
||||
return em;
|
||||
}
|
||||
|
||||
public static void closeEntityManager() {
|
||||
EntityManager em = threadLocal.get();
|
||||
if (em != null) {
|
||||
em.close();
|
||||
threadLocal.set(null);
|
||||
}
|
||||
}
|
||||
|
||||
public static void closeEntityManagerFactory() {
|
||||
emf.close();
|
||||
}
|
||||
|
||||
public static void beginTransaction() {
|
||||
getEntityManager().getTransaction().begin();
|
||||
}
|
||||
|
||||
public static void rollback() {
|
||||
getEntityManager().getTransaction().rollback();
|
||||
}
|
||||
|
||||
public static void commit() {
|
||||
getEntityManager().getTransaction().commit();
|
||||
}
|
||||
}
|
||||
42
src/main/java/jpa/JpaTest.java
Normal file
42
src/main/java/jpa/JpaTest.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package jpa;
|
||||
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
|
||||
public class JpaTest {
|
||||
|
||||
|
||||
private EntityManager manager;
|
||||
|
||||
public JpaTest(EntityManager manager) {
|
||||
this.manager = manager;
|
||||
}
|
||||
/**
|
||||
* @param args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
EntityManager manager = EntityManagerHelper.getEntityManager();
|
||||
|
||||
JpaTest test = new JpaTest(manager);
|
||||
|
||||
EntityTransaction tx = manager.getTransaction();
|
||||
tx.begin();
|
||||
try {
|
||||
|
||||
// TODO create and persist entity
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
tx.commit();
|
||||
|
||||
|
||||
manager.close();
|
||||
EntityManagerHelper.closeEntityManagerFactory();
|
||||
System.out.println(".. done");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user