Olá, GUJ!
Eu sou novato em java e estou tendo um problema com o hibernate.
(OBS: Estou usando o VRaptor, caso isso seja relevante à situação)
O problema é o seguinte: o metodo delete simplesmente não deleta do BD. Ele apenas roda, sem dar erro nem exception(porém nem executar a query ele executa)
Aqui estão minhas classes:
Modelo:
package br.com.druckduck.models;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="pag")
public class Pagina {
//Atributos - Campos
@Id
@GeneratedValue
@Column(name="id_pag", length=4, nullable=false, unique=true)
private Long id;
@Column(name="name_pag", length=45, nullable=false)
private String namePagina;
//Metodos
public String getNamePagina() {
return namePagina;
}
public void setNamePagina(String namePagina) {
this.namePagina = namePagina;
}
public Long getId() {
return id;
}
}
DAO:
package br.com.druckduck.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import br.com.druckduck.hibernate.HibernateUtil;
import br.com.druckduck.models.Pagina;
public class PaginaDAO {
private final Session session;
public PaginaDAO() {
this.session = (Session) new HibernateUtil().getSession();
}
//esse adiciona está funcionando
public void adiciona(Pagina pagina) {
Transaction tx = session.beginTransaction();
session.save(pagina);
tx.commit();
session.close();
}
//este é o método que não funciona
public void remove(Pagina pagina) {
Transaction tx = session.beginTransaction();
session.delete(pagina);
tx.commit();
session.close();
}
}
Ja tentei dar flush e nem assim funcionou =/
Obrigado desde ja galera!
EDIT:
Ja resolvi, galera.
O problema era que, por algum motivo, o tipo do id do modelo não podia ser Long(não sei porque, se alguem puder esclarecer isso eu agradeço). Quando mudei para int foi =]