Boa noite, estou estudando hibernate pela apostila da caelum FJ28, mas não estou conseguindo persistir o meu objeto. Acho que a maioria ja deu uma lida nessa apostila, então eu vou ser direto. Ela inicia bem simples com a configuração do hibernate, criação da classe Usuario e TestaUsuario. Ate ai tudo bem, ele adicionou certo no banco. Então começa a explicar como funciona com uma classe Dao, faz um exemplo de salvar e listar, que tambem funcionou. Então começa a separar as tarefas criando a classe HibernateUtil e colocando a configuração do hibernate nela e criando um DaoFactory, ai bagunçou tudo, ele não da mensagem de erro, mostra na saida do eclipse a query “insert” pro banco e lista como se tivesse inserido no banco, mas quando vamos verificar não esta la o registro. Alguem teve esse problema ao seguir a apostila??
Segue o meu codigo:
[code]public class TestaUsuario {
public static void main(String[] args) {
UsuarioDao dao = new DaoFactory().getUsuario();
Usuario u = new Usuario();
u.setLogin("admin");
u.setSenha("admin");
dao.adiciona(u);
List<Usuario> lista = dao.ListaTudo();
for (Usuario usuario : lista) {
System.out.println(usuario.getLogin());
}
}
}[/code]
[code]
public class DaoFactory {
private final Session session;
private Transaction transaction;
public DaoFactory(){
session = HibernateUtil.getSession();
}
public void beginTransaction(){
this.transaction = this.session.beginTransaction();
}
public void commit(){
this.transaction.commit();
this.transaction = null;
}
public boolean hasTransaction(){
return this.transaction != null;
}
public void rollBack(){
this.transaction.rollback();
this.transaction = null;
}
public void close(){
this.session.close();
}
public UsuarioDao getUsuario(){
return new UsuarioDao(this.session);
}
}[/code]
[code]
public class UsuarioDao {
private Session session;
public UsuarioDao(Session session) {
this.session = session;
}
public void adiciona(Usuario u) {
this.session.save(u);
}
public void remove(Usuario u) {
this.session.delete(u);
}
public void atualiza(Usuario u) {
this.session.merge(u);
}
public List<Usuario> ListaTudo() {
return this.session.createCriteria(Usuario.class).list();
}
public Usuario procura(Long id) {
return (Usuario) session.load(Usuario.class, id);
}
}[/code]
[code]
public class HibernateUtil {
private static SessionFactory factory;
static {
Configuration conf = new AnnotationConfiguration();
conf.configure();
factory = conf.buildSessionFactory();
}
public static Session getSession() {
return factory.openSession();
}
}[/code]
Toda ajuda sera bem vinda!