Tenho uma aplicação web rodando com o HSQLDB e funcionando perfeitamente. Utilizando as mesmas configurações da camada Dao onde uso o Hibernate, criei uma aplicação desktop, mas o que parece estar acontecendo é que a cada ciclo de vida da aplicação, o banco esta sendo dropado e criado novamente. Alguém saberia o que esta errado ?
Imagino que meu problema não seja no HibernateUtil, pois o mesmo arquivo esta sendo utilizado em uma aplicação web sem problemas …
O que esta acontecendo :
public static void main(String[] args) {
UserDao dao = new UserDao();
User user = new User();
user.setName("Márcio Barroso");
user.setLogin("marcio");
user.setPassword("12345");
user.setLastAccess(new Date());
dao.salvar(user);
user = new User();
user.setName("Luiz José");
user.setLogin("luiz");
user.setPassword("12345");
user.setLastAccess(new Date());
dao.salvar(user);
List<User> list = dao.listar();
for( User u : list ) {
System.out.println(u.getId()+" "+u.getName()+" "+u.getLogin());
}
}
Qdo eu executo o código acima, a transação é feita com sucesso, mas qdo eu executo uma segunda vez, o resultado é o mesmo da primeira execução, qdo não deveria incluir um registro com o login repetido, pois este atributo é unique=true … e os id’s são sempre 1 e 2.
O que me parece é q a cada build da sessionfactory o banco esta sendo criado novamente …
Você está usando o banco em arquivo ou como server ?