Pessoal,
Estou tentando usar esse exemplo da apostila da caelum para inserir um usuario no banco usando hibernate, mas não estou conseguindo (não aparece nenhuma msg de erro). Alguém pode me dar uma força?
TestaUsuario:
public class TestaUsuario {
public static void main(String[] args) {
Configuration conf = new AnnotationConfiguration();
conf.configure();
SessionFactory factory = conf.buildSessionFactory();
Session session = factory.openSession();
Usuario u = new Usuario();
u.setUsuario("admin");
u.setSenha("admin");
DAO<Usuario> dao = new DaoFactory().getUsuarioDao();
Transaction t = session.beginTransaction();
dao.adiciona(u);
t.commit();
List<Usuario> lista = dao.listaTudo();
for (Usuario usuario : lista) {
System.out.println("usuario: "+usuario.getUsuario());
}
session.close();
}
}
DAO:
public class DAO<T> {
private final Session session;
private final Class classe;
DAO(Session session, Class classe) {
this.session = session;
this.classe = classe;
}
public void adiciona(T u) {
this.session.save(u);
}
public void remove (T u) {
this.session.delete(u);
}
public void atualiza (T u) {
this.session.merge(u);
}
public List<T> listaTudo() {
return this.session.createCriteria(this.classe).list();
} public T procura(Long id) {
return (T) session.load(this.classe, id);
}
}
DaoFactory :
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 DAO<Usuario> getUsuarioDao() {
return new DAO<Usuario>(this.session, Usuario.class);
}
}
Usuario:
@Entity
public class Usuario {
@Id
@GeneratedValue
private long id;
private String nome;
private String usuario;
private String senha;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
}