2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
6 package com.edf.gde.ejb;
8 import com.edf.gde.entities.Study;
9 import com.edf.gde.transferables.StudyTO;
10 import java.util.Date;
11 import javax.ejb.Stateless;
12 import javax.ejb.LocalBean;
13 import javax.persistence.EntityManager;
14 import javax.persistence.PersistenceContext;
22 public class StudyDAO {
23 @PersistenceContext(unitName = "GDE-ejbPU")
24 private EntityManager em;
26 public StudyTO createStudy(StudyTO sto) {
27 Study s = Study.fromStudyTO(sto);
32 public void deleteStudy(StudyTO sto) {
33 Study s = Study.fromStudyTO(sto);
37 public StudyTO updateStudy(StudyTO sto) {
38 Study s = Study.fromStudyTO(sto);
39 Study up = em.merge(s);
40 return up.toStudyTO();
43 public StudyTO findStudy(StudyTO sto) {
44 Study found = em.find(Study.class, sto.getId());
45 return found.toStudyTO();
48 private <T> StudyTO findBy(String queryName, String varName, T value) {
50 Study found = (Study) em.createNamedQuery(queryName)
51 .setParameter(varName, value)
53 return found.toStudyTO();
60 public StudyTO findById(long id) {
61 return findBy("Study.findById", "id", id);
64 public StudyTO findByName(String name) {
65 return findBy("Study.findByName", "name", name);
68 public StudyTO findByCreationDate(Date creationDate) {
69 return findBy("Study.findByCreationDate", "creationDate", creationDate);
72 public StudyTO findByUpdateDate(Date updateDate) {
73 return findBy("Study.findByUpdateDate", "updateDate", updateDate);
76 public StudyTO findByDeletionDate(Date deletionDate) {
77 return findBy("Study.findByDeletionDate", "deletionDate", deletionDate);