Initialisation de tableau

Résolu/Fermé
montisero Messages postés 65 Date d'inscription jeudi 4 septembre 2014 Statut Membre Dernière intervention 18 mars 2016 - 25 févr. 2015 à 11:24
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 25 févr. 2015 à 14:08
Bonjour ,
sachant que j'utilise Hibernate reverse engineering je veux initialiser ma table de tel façon que je run mon page je veux avoir ma table rempli à partir de la base j'ai utilise l'annotation @PostConstruct comme dans le code mais j'obtient toujours ma table vide comme indiqué au capture


UserController


package controller;


import java.io.Serializable;
import java.util.List;








import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
//import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;










import model.UserDAO;
import entities.User;



@ManagedBean (name="monta")
@SessionScoped

public class UserController implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	 
	
	private UserDAO userDAO = new UserDAO ();
	private User user = new User();
	private List<User> lstUsers;
	
	private User selectedUser ;
		
	
	
	public UserDAO getUserDAO() {
		return userDAO;
	}

	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

	public UserController() {
		// TODO Auto-generated constructor stub
	}
	
	@PostConstruct
	
	public void init () throws Exception {
		user = new User();
		lstUsers = userDAO.listUser();
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String authenticate () throws Exception {
		UserDAO userDAO = new UserDAO();
		User us ;
		String resultat ;
		try {
			
			us=userDAO.authenticate(this.user);
			if (us != null){
				FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", us);
				resultat = "index";
			
			} else {
				resultat = "aaa";
			}
		} catch (Exception e) {
			throw e;
		}
		return resultat;
	}
	
	 public void saveUser() throws Exception{
		 System.out.println("addPlayer invoked ");
		
	     userDAO.addUser(this.user);
	     lstUsers = userDAO.listUser();
	     
	    }
	 public void Delete (User us) throws Exception {
		 userDAO.Delete(us);
		 this.listUser();
	 }
	 
	 public void update () throws Exception {
		 userDAO.Modif(this.user);
	 }
	 
	 public void listUser () throws Exception {
		 this.lstUsers = userDAO.listUser();
	 }
	 
	 
	 
	 public void addInfo(ActionEvent actionEvent) {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "Player added !!"));
		}

	public List<User> getLstUsers() {
		return lstUsers;
	}

	public void setLstUsers(List<User> lstUsers) {
		this.lstUsers = lstUsers;
	}

	public User getSelectedUser() {
		return selectedUser;
	}

	public void setSelectedUser(User selectedUser) {
		this.selectedUser = selectedUser;
	}

	
}




UserDAO

package model;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Order;

import sungardUtil.HibernateUtil;
import entities.User;

public class UserDAO {
	
	private Session session ;
	private Transaction trns ;
	private List<User> lstUsers ;
	
	public User authenticate (User user) throws Exception {
		User us = null;
		try {
			session = HibernateUtil.getSessionFactory().openSession();
			String hql = "FROM User WHERE mail = '" + user.getMail()
					+ "' and password = '" + user.getPassword() + "'";
			Query query = session.createQuery(hql);
			if(!query.list().isEmpty()){
				us = (User) query.list().get(0);
			}
			
		} catch(Exception e) {
			throw e ;
		}
		
	return us ;

}
	
	 public void addUser(User us) throws Exception {
		 
		 System.out.println("addPlayer invoked ");
	        
	    try {
	    	session=HibernateUtil.getSessionFactory().openSession();
	    	trns = session.beginTransaction();
	    	session.save(us);
	    	trns.commit();
	    	
	    } catch (Exception ex) {
	    	trns.rollback();
	    	throw ex ;
	    } finally {
	    	session.close();
	    }
	    
	
	 }
	 
	 public List<User> listUser () throws Exception {
		 try {
			 session = HibernateUtil.getSessionFactory().openSession();
			 Criteria cri = session.createCriteria(User.class);
			 cri.addOrder(Order.asc("matricule"));
			 lstUsers = cri.list();
		 } catch (Exception ex) {
			 throw ex ;
		 }
		 return lstUsers ;
	 }
	 
	 public void Delete (User us) throws Exception {
		 
		 try {
			 session = HibernateUtil.getSessionFactory().openSession();
			 trns = session.beginTransaction();
			 session.delete(us);
			 trns.commit();
		 } catch (Exception ex) {
			 trns.rollback();
			 throw ex ;
		 } finally {
			 session.close();
		 }
	 }
	 
	 public void Modif (User us) throws Exception {
		 
		  try {
		    	session=HibernateUtil.getSessionFactory().openSession();
		    	trns = session.beginTransaction();
		    	session.update(us);
		    	trns.commit();
		    	
		    } catch (Exception ex) {
		    	trns.rollback();
		    	throw ex ;
		    } finally {
		    	session.close();
		    }
}
}




resultat


Erreur quand je Restart mon serveur




erreur quand je Run As ma page.xhtml



cordialement

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 févr. 2015 à 14:08
Bonjour,

Il faudrait que UserDAO implémente l'interface Serializable, ainsi que tous ses membres privés (et récursivement les leurs).

https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html
https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html
0