@Override public MeasuringMethod findByCode(String code) { EntityManager em = JpaUtil.getCurrentEntityManager(); TypedQuery<MeasuringMethod> query = em.createNamedQuery("MeasuringMethod.findByCode", MeasuringMethod.class); try { return query.setParameter("code", code).getSingleResult(); } catch (NoResultException ex) { return null; } }
@Override public MeasuringMethod mostRecent() { EntityManager em = JpaUtil.getCurrentEntityManager(); TypedQuery<MeasuringMethod> query = em.createNamedQuery("MeasuringMethod.mostRecent", MeasuringMethod.class); try { return query.setMaxResults(1).getSingleResult(); } catch (NoResultException ex) { return null; } }
@Override public void createOrUpdate(MeasuringMethod method) { EntityManager em = JpaUtil.getCurrentEntityManager(); MeasuringMethod method2 = findByCode(method.getCode()); if (method2 == null) { logger.debug("Creating " + method); em.persist(method); } else { logger.debug("Updating " + method); method2.update(method); } }