@Override public List<E> selectAll() { if (em == null || !em.isOpen()) { em = EntityManageFactoryTest.getInstance().getEmf().createEntityManager(); } try { return em.createQuery("Select tbl from " + clsName.getSimpleName() + " tbl").getResultList(); } catch (Exception e) { return null; } }
@Override public E getById(long id) { if (em == null || !em.isOpen()) { em = EntityManageFactoryTest.getInstance().getEmf().createEntityManager(); } try { return (E) em.find(clsName, id); } catch (Exception e) { return null; } finally { em.close(); } }
@Override public List<Product> getByCode(String code) { String sql = "Select tbl from Product tbl where tbl." + Product.FIELD_CODEPRODUCT + " =?1 "; if (em == null || !em.isOpen()) { em = EntityManageFactoryTest.getInstance().getEmf().createEntityManager(); } try { return em.createQuery(sql).setParameter(1, code).getResultList(); } catch (Exception e) { return null; } finally { em.close(); } }
@Override public boolean update(E object) { if (em == null || !em.isOpen()) { em = EntityManageFactoryTest.getInstance().getEmf().createEntityManager(); } try { em.getTransaction().begin(); em.merge(object); em.getTransaction().commit(); return true; } catch (Exception e) { return false; } finally { em.close(); } }
@Override public boolean delete(E object) { if (em == null || !em.isOpen()) { em = EntityManageFactoryTest.getInstance().getEmf().createEntityManager(); } try { em.getTransaction().begin(); em.remove(em.find(clsName, ((IEntity) object).getId())); em.getTransaction().commit(); return true; } catch (Exception e) { return false; } finally { em.close(); } }