4 package com.edf.gde.dao;
6 import com.edf.gde.entities.Study;
7 import com.edf.gde.transferables.StudyTO;
9 import javax.persistence.EntityManager;
15 public class StudyDao {
16 private final EntityManager em;
18 public StudyDao(EntityManager em) {
22 public StudyTO createStudy(StudyTO sto) {
23 Study s = Study.fromStudyTO(sto);
28 public void deleteStudy(StudyTO sto) {
29 Study s = Study.fromStudyTO(sto);
33 public StudyTO updateStudy(StudyTO sto) {
34 Study s = Study.fromStudyTO(sto);
35 Study up = em.merge(s);
36 return up.toStudyTO();
39 public StudyTO findStudy(StudyTO sto) {
40 Study found = em.find(Study.class, sto.getId());
41 return found.toStudyTO();
44 private <T> StudyTO findBy(String queryName, String varName, T value) {
46 Study found = (Study) em.createNamedQuery(queryName)
47 .setParameter(varName, value)
49 return found.toStudyTO();
56 public StudyTO findById(long id) {
57 return findBy("Study.findById", "id", id);
60 public StudyTO findByName(String name) {
61 return findBy("Study.findByName", "name", name);
64 public StudyTO findByCreationDate(Date creationDate) {
65 return findBy("Study.findByCreationDate", "creationDate", creationDate);
68 public StudyTO findByUpdateDate(Date updateDate) {
69 return findBy("Study.findByUpdateDate", "updateDate", updateDate);
72 public StudyTO findByDeletionDate(Date deletionDate) {
73 return findBy("Study.findByDeletionDate", "deletionDate", deletionDate);