Tenho uma tabela mapeada no hibernate.
qdo mando adicionar, diz q ok, mando mostrar o id q gerou e me gera o id sequencial, td blz.
Mas qdo vou no mySQL e dou um select na tabela… …não tem nada.
o que pode esar acontecendo???
Obrigado
Hibernate(Parece que grava no banco, mas não grava)
7 Respostas
Estás dando commit? Posta o método.
aqui está o método
public String inserir() {
String result_inserir = FALHA_INSERCAO;
p.setNome(nome);
p.setEndereco(endereco);
p.setCidade(cidade);
p.setTelefone(telefone);
try {
dao.salva(p);
result_inserir = SUCESSO_INSERCAO;
System.out.println("result_inserir: " + result_inserir);
System.out.println("Id: " + p.getId());
System.out.println("Nome: " + p.getNome());
}catch(Exception e) {
System.err.println("Erro: " + e);
result_inserir = FALHA_INSERCAO;
}
return result_inserir;
}
Método para persistir
//persiste
public void salva(Pessoa2 p) {
this.session.save§;
}
configuro assim
private static SessionFactory factory;
static {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Pessoa2.class);
factory = cfg.buildSessionFactory();
}
public Session getSession() {
return factory.openSession();
}
desculpa pelo tag code.
Como estou começando com hibernate, não sabia do transaction.commit();
mas aonde eu coloco ? no meu método salva ? e como ?
eu só precisei usar uma vez o hibernate e era com uma tabelinha só e não usei o transaction.
desculpa mais uma vez.
session.beginTransaction();
session.save(obj);
session.commit();
pronto, resolví
imaginei q tinha q ser pelo session
então dei um session.beginTransaction().commit();
valeu galera e desculpa a ignorância
cara..
Kd o transation.commit();
sem isso nenhuma transação sua será salva.
E pelo amor de Deus.. Quando postar codigo utilize a tag [code] por favor.
Até +.
pronto, resolví
imaginei q tinha q ser pelo session
então dei umsession.beginTransaction().commit();valeu galera e desculpa a ignorância
Q isso… todos estamos aqui pra aprender.
Abraços.