Ola, pessoal boa noite.
Bom estou com desenvolvendo um site em seam. Estou utilizando o seam geam padrão para administração. E criei minhas próprias classes de MB, para controlar o acesso ao site. Mas estou com um problema onde o hibernate ele grava obejto normalmente e com estado INATIVO. E para alterar o estado do objeto para ATIVO vou na Administação que é feita com o Seam Geam e altero o objeto. Mas quando recupero o objeto com o meu DAO ele vem como se nada tivesse feita a alteração.
Já coloqueo o flush, para tentar atualizar o modelo mas nada.
Se alguem tiver alguma ídeia eu agradeço.
public class HibernateUtil extends HttpServlet {
private static final long serialVersionUID = 1L;
// private static final SessionFactory sessionFactory;
@In(required=true, create=true)
EntityManager entityManager;
private static final EntityManagerFactory factory;
private static final EntityManager manager;
static {
try {
// Create the SessionFactory from hibernate.cfg.xml
// sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
factory = Persistence.createEntityManagerFactory("spd");
manager = factory.createEntityManager();
// manager = entityManager;
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static EntityManager getEntityManager() {
return manager;
}
}
@Name("hibernateGenericDAO")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
@SuppressWarnings("unchecked")
public class HibernateGenericDAO<T> extends HibernateUtil implements BaseDAO<T> {
//public class HibernateGenericDAO<T> implements BaseDAO<T> {
private static final long serialVersionUID = 1L;
public T saveOrUpdate(final T obj) {
showValidationErrors(obj);
getSession().saveOrUpdate(obj);
getSession().flush();
return obj;
}