>
Olá,
Estou fazendo um projeto com JSF e Hibernate. Criei um index.xhtml que salva um novo usuário no banco.
Botao Cadastrar:
O projeto executa sem nenhum erro. A tabela usuário também é criada no banco, mas quando faço um "select" pra ver os valores da tabela, os campos estão como NULL.
O projeto cria a estrutura no banco, mas não salva os valores.
OBS:
No arquivo persistence.xml,
A estrutura foi criada, mas os campos ficaram como NULL
Depois,
Nada aconteceu, os campos continuaram NULL
Meu projeto tem um Pojo usuario com getters e setters e as annotaions do hibernate.
@Entity
@Table(name="usuarios")
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private int ID;
@Column(name="nome")
private String nome;
Alguém sabe qual pode ser o problema?
Alexandre,
Mas alguma operação funciona? INSERT? Delete? Ou só o select que não?
Oi Rafael,
As outras operações INSERT, DELETE, SELECT, UPDATE estão funcionando corretamente quando chamadas em uma Query direto no banco.
Testei o DELETE através da aplicação, mas também não funcionou.
Opa
Me mostre o seu DAO
Ola,
Classe ConnectDB:
private static EntityManagerFactory emf = null;
public EntityManagerFactory getEntityManager(){
if (emf == null){
emf = Persistence.createEntityManagerFactory("sistema");
}
return emf;
}
public ConnectDB() {
}
Ola,
Classe ConnectDB:
private static EntityManagerFactory emf = null;
public EntityManagerFactory getEntityManager(){
if (emf == null){
emf = Persistence.createEntityManagerFactory("sistema");
}
return emf;
}
public ConnectDB() {
}
Insert da classe UsuarioDAO:
public void insert(Usuario obj) {
EntityManager em = getEntityManager().createEntityManager();
try {
em.getTransaction().begin();
em.persist(obj);
em.getTransaction().commit();
} catch (Exception e) {
em.getTransaction().rollback();
} finally {
em.clear();
em.close();
}
}
Alexandre
Parece estar tudo certo.
Faça o seguinte, no catch do insert, coloque um println com alguma mensagem. Então faça o teste e tente inserir, e veja se mostra algum erro.
Sim, estava caindo no catch do insert. Parece que o objeto "THIS" que estava mandando não era aceito.
Criei um atributo do tipo do meu pojo e funcionou.