update DTO
This commit is contained in:
@@ -2,17 +2,16 @@ package DAO;
|
|||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
import jakarta.persistence.EntityTransaction;
|
import jakarta.persistence.EntityTransaction;
|
||||||
import jakarta.persistence.PersistenceException;
|
|
||||||
import jpa.EntityManagerHelper;
|
import jpa.EntityManagerHelper;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public abstract class GenericDAOImpl<K, T extends Serializable> implements Generic<K, T> {
|
public abstract class AbstractJpaDao<K, T extends Serializable> implements IGenericDao<K, T> {
|
||||||
protected EntityManager em;
|
protected EntityManager em;
|
||||||
private Class<T> entityClass;
|
private Class<T> entityClass;
|
||||||
|
|
||||||
public GenericDAOImpl() {
|
public AbstractJpaDao() {
|
||||||
this.em = EntityManagerHelper.getEntityManager();
|
this.em = EntityManagerHelper.getEntityManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,6 +20,10 @@ public abstract class GenericDAOImpl<K, T extends Serializable> implements Gener
|
|||||||
this.entityClass= class2;
|
this.entityClass= class2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public T findOne(K id) {
|
||||||
|
return em.find(entityClass, id);
|
||||||
|
}
|
||||||
|
|
||||||
public List<T> findAll() {
|
public List<T> findAll() {
|
||||||
return em.createQuery("select e from " + entityClass.getName() + " as e", entityClass).getResultList();
|
return em.createQuery("select e from " + entityClass.getName() + " as e", entityClass).getResultList();
|
||||||
}
|
}
|
||||||
50
src/main/java/DAO/EntityManagerHelper.java
Normal file
50
src/main/java/DAO/EntityManagerHelper.java
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
package DAO;
|
||||||
|
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.EntityManagerFactory;
|
||||||
|
import jakarta.persistence.Persistence;
|
||||||
|
|
||||||
|
public class EntityManagerHelper {
|
||||||
|
|
||||||
|
private static final EntityManagerFactory emf;
|
||||||
|
private static final ThreadLocal<EntityManager> threadLocal;
|
||||||
|
|
||||||
|
static {
|
||||||
|
emf = Persistence.createEntityManagerFactory("dev");
|
||||||
|
threadLocal = new ThreadLocal<EntityManager>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EntityManager getEntityManager() {
|
||||||
|
EntityManager em = threadLocal.get();
|
||||||
|
|
||||||
|
if (em == null) {
|
||||||
|
em = emf.createEntityManager();
|
||||||
|
threadLocal.set(em);
|
||||||
|
}
|
||||||
|
return em;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void closeEntityManager() {
|
||||||
|
EntityManager em = threadLocal.get();
|
||||||
|
if (em != null) {
|
||||||
|
em.close();
|
||||||
|
threadLocal.set(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void closeEntityManagerFactory() {
|
||||||
|
emf.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void beginTransaction() {
|
||||||
|
getEntityManager().getTransaction().begin();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void rollback() {
|
||||||
|
getEntityManager().getTransaction().rollback();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void commit() {
|
||||||
|
getEntityManager().getTransaction().commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,11 +3,12 @@ package DAO;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface Generic<K, T extends Serializable> {
|
public interface IGenericDao<K, T extends Serializable> {
|
||||||
void create(final T entity);
|
void create(final T entity);
|
||||||
T findById(final K id);
|
T findById(final K id);
|
||||||
T update(final T entity);
|
T update(final T entity);
|
||||||
void delete(final T entity);
|
void delete(final T entity);
|
||||||
void deleteById(final K id);
|
void deleteById(final K id);
|
||||||
List<T> findAll();
|
List<T> findAll();
|
||||||
|
T findOne(final K id);
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@ package DAO;
|
|||||||
|
|
||||||
import metier.Question;
|
import metier.Question;
|
||||||
|
|
||||||
public class QuestionDAO extends GenericDAOImpl<Integer, Question> {
|
public class QuestionDAO extends AbstractJpaDao<Integer, Question> {
|
||||||
public QuestionDAO(){
|
public QuestionDAO(){
|
||||||
super();
|
super();
|
||||||
this.setClass(Question.class);
|
this.setClass(Question.class);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package DAO;
|
|||||||
import jakarta.persistence.EntityTransaction;
|
import jakarta.persistence.EntityTransaction;
|
||||||
import metier.Quizz;
|
import metier.Quizz;
|
||||||
|
|
||||||
public class QuizzDAO extends GenericDAOImpl<Integer, Quizz>{
|
public class QuizzDAO extends AbstractJpaDao<Integer, Quizz> {
|
||||||
public QuizzDAO(){
|
public QuizzDAO(){
|
||||||
super();
|
super();
|
||||||
this.setClass(Quizz.class);
|
this.setClass(Quizz.class);
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
package DAO;
|
package DAO;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import jakarta.persistence.EntityTransaction;
|
|
||||||
import jakarta.persistence.Query;
|
|
||||||
import metier.Reponse;
|
import metier.Reponse;
|
||||||
|
|
||||||
public class ReponseDAO extends GenericDAOImpl<Integer, Reponse> {
|
public class ReponseDAO extends AbstractJpaDao<Integer, Reponse> {
|
||||||
public ReponseDAO(){
|
public ReponseDAO(){
|
||||||
super();
|
super();
|
||||||
this.setClass(Reponse.class);
|
this.setClass(Reponse.class);
|
||||||
|
|||||||
@@ -4,11 +4,10 @@ package DAO;
|
|||||||
import jakarta.persistence.EntityTransaction;
|
import jakarta.persistence.EntityTransaction;
|
||||||
import jakarta.persistence.Query;
|
import jakarta.persistence.Query;
|
||||||
import metier.Session;
|
import metier.Session;
|
||||||
import metier.Utilisateur;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SessionDAO extends GenericDAOImpl<Integer, Session> {
|
public class SessionDAO extends AbstractJpaDao<Integer, Session> {
|
||||||
public SessionDAO() {
|
public SessionDAO() {
|
||||||
super();
|
super();
|
||||||
this.setClass(Session.class);
|
this.setClass(Session.class);
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ import jakarta.persistence.Query;
|
|||||||
import metier.Session;
|
import metier.Session;
|
||||||
import metier.Utilisateur;
|
import metier.Utilisateur;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
||||||
|
|
||||||
public class UtilisateurDAO extends GenericDAOImpl<Integer, Utilisateur>{
|
|
||||||
public UtilisateurDAO() {
|
public UtilisateurDAO() {
|
||||||
super();
|
super();
|
||||||
this.setClass(Utilisateur.class);
|
this.setClass(Utilisateur.class);
|
||||||
|
|||||||
@@ -13,7 +13,4 @@ public interface UtilisateurMapper {
|
|||||||
|
|
||||||
UtilisateurDTO toDTO(Utilisateur utilisateur);
|
UtilisateurDTO toDTO(Utilisateur utilisateur);
|
||||||
Utilisateur toEntity(UtilisateurDTO dto);
|
Utilisateur toEntity(UtilisateurDTO dto);
|
||||||
|
|
||||||
List<UtilisateurDTO> toDTOs(List<Utilisateur> utilisateurs);
|
|
||||||
List<Utilisateur> toEntitys(List<UtilisateurDTO> dtos);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public class JpaTest {
|
|||||||
public JpaTest(EntityManager manager) {
|
public JpaTest(EntityManager manager) {
|
||||||
this.manager = manager;
|
this.manager = manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param args
|
* @param args
|
||||||
*/
|
*/
|
||||||
@@ -77,21 +78,20 @@ public class JpaTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void list_utilisateur(){
|
private void list_utilisateur() {
|
||||||
List<Utilisateur> result_utilisatuer_list= manager.createQuery("select u from Utilisateur u", Utilisateur.class).getResultList();
|
List<Utilisateur> result_utilisatuer_list = manager.createQuery("select u from Utilisateur u", Utilisateur.class).getResultList();
|
||||||
for (Utilisateur u : result_utilisatuer_list) {
|
for (Utilisateur u : result_utilisatuer_list) {
|
||||||
System.out.println(u.getId() + " " + u.getName() +" "+ u.getEmail());
|
System.out.println(u.getId() + " " + u.getName() + " " + u.getEmail());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void list_session(){
|
private void list_session() {
|
||||||
List<Session> result_session_list= manager.createQuery("select s from Session s", Session.class).getResultList();
|
List<Session> result_session_list = manager.createQuery("select s from Session s", Session.class).getResultList();
|
||||||
for (Session s : result_session_list) {
|
for (Session s : result_session_list) {
|
||||||
System.out.println(s.getCodePIN() + " " + s.getTheme());
|
System.out.println(s.getCodePIN() + " " + s.getTheme());
|
||||||
for(Utilisateur u : s.getUtilisateurs()){
|
for (Utilisateur u : s.getUtilisateurs()) {
|
||||||
System.out.println(u.getId() + " " + u.getName() +" "+ u.getEmail());
|
System.out.println(u.getId() + " " + u.getName() + " " + u.getEmail());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user