4 package com.edf.gde.dao;
6 import com.edf.gde.entities.GDEFile;
7 import com.edf.gde.transferables.FileTO;
9 import javax.persistence.EntityManager;
15 public class FileDao {
17 private EntityManager em;
19 public FileDao(EntityManager em) {
23 public FileTO createFile(FileTO fto) {
24 GDEFile f = GDEFile.fromFileTO(fto);
29 public void deleteFile(FileTO fto) {
30 GDEFile f = GDEFile.fromFileTO(fto);
34 public FileTO updateFile(FileTO fto) {
35 GDEFile f = GDEFile.fromFileTO(fto);
36 GDEFile up = em.merge(f);
40 public FileTO findFile(FileTO fto) {
41 GDEFile found = em.find(GDEFile.class, fto.getId());
42 return found.toFileTO();
45 private <T> FileTO findBy(String queryName, String varName, T value) {
46 GDEFile found = (GDEFile) em.createNamedQuery(queryName)
47 .setParameter(varName, value)
49 return found.toFileTO();
52 public FileTO findById(long id) {
53 return findBy("File.findById", "id", id);
56 public FileTO findByName(String name) {
57 return findBy("File.findByName", "name", name);
60 public FileTO findByCreationDate(Date creationDate) {
61 return findBy("File.findByCreationDate", "creationDate", creationDate);
64 public FileTO findByUpdateDate(Date updateDate) {
65 return findBy("File.findByUpdateDate", "updateDate", updateDate);
68 public FileTO findByDeletionDate(Date deletionDate) {
69 return findBy("File.findByDeletionDate", "deletionDate", deletionDate);