Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package jpa;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.EntityTransaction;
- import javax.persistence.Persistence;
- public class JPA {
- EntityManagerFactory emf;
- public static void main(String[] args) {
- new JPA();
- }
- public JPA() {
- emf = Persistence.createEntityManagerFactory("JPATestPU");
- try {
- Person person = new Person();
- person.setName("Tina");
- createEntity(person);
- Object id = person.getId();
- System.out.println("" + readEntity(Person.class, id));
- } finally {
- emf.close();
- }
- }
- //It works as well with the definiton
- //"void createEntity(Object entity)"
- public final <T> void createEntity(T entity) {
- EntityManager em = emf.createEntityManager();
- EntityTransaction tx = em.getTransaction();
- try {
- tx.begin();
- em.persist(entity);
- tx.commit();
- } catch (RuntimeException ex) {
- if (tx != null && tx.isActive()) {
- tx.rollback();
- }
- throw ex;
- } finally {
- em.close();
- }
- }
- public final <T> T readEntity(Class<T> clss, Object id) {
- EntityManager em = emf.createEntityManager();
- try {
- return em.find(clss, id);
- } finally {
- em.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment