Pessoal estou com um problema que nao estou conseguindo resolver, tenho um metodo de exclusao com o hibernate que nao esta excluindo e esta me retornado a seguinte info
Jan 03, 2013 11:29:00 AM org.hibernate.event.internal.DefaultDeleteEventListener deleteTransientEntity
INFO: HHH000114: Handling transient entity in delete processing
este é o metodo de exlusao:
public void removeMenuAssociadoGrupo(MenuUsuarioGrupo o){
try{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
session.delete(o);
transaction.commit();
session.close();
}catch(HibernateException hi){
hi.getMessage();
}catch(Exception e){
e.getMessage();
}
}
esta é a classe MenuUsuarioGrupo
package ew.com.br.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="MenuGrupoUsuarioa")
public class MenuUsuarioGrupo implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ID")
private int id;
@ManyToOne
@JoinColumn(name = "ID_MENU")
private Menu menu;
@ManyToOne
@JoinColumn(name = "ID_GRUPO")
private Grupo grupo;
public Menu getMenu() {
return menu;
}
public void setMenu(Menu menu) {
this.menu = menu;
}
public Grupo getGrupo() {
return grupo;
}
public void setGrupo(Grupo grupo) {
this.grupo = grupo;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Classe Menu
package ew.com.br.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="menuew")
public class Menu implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="idMenu")
private Integer idMenu;
@ManyToOne
@JoinColumn(name = "idMenuPai")
private Menu idMenuPai;
@ManyToOne
@JoinColumn(name = "idGrupo")
private Grupo grupo;
@Column(name = "descricao")
private String descricao;
@Column(name="url")
private String url;
/*@OneToMany(fetch = FetchType.LAZY, mappedBy = "idMenuPai")
private List<Menu> menusub;*/
public Menu getIdMenuPai() {
return idMenuPai;
}
public Integer getIdMenu() {
return idMenu;
}
public void setIdMenu(Integer idMenu) {
this.idMenu = idMenu;
}
public void setIdMenuPai(Menu idMenuPai) {
this.idMenuPai = idMenuPai;
}
public Grupo getGrupo() {
return grupo;
}
public void setGrupo(Grupo grupo) {
this.grupo = grupo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
/*public List<Menu> getMenusub() {
return menusub;
}
public void setMenusub(List<Menu> menusub) {
this.menusub = menusub;
}*/
}
Classe Grupo
package ew.com.br.model;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = "grupoew")
public class Grupo implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ID_GRUPO")
private int idGrupo;
@Column(name="NOME_GRUPO")
private String nome;
@OneToMany
private List<Usuario> usuarios; // grupo tem muitos usuario
@OneToMany
private List<Tarefa> tarefas;
public int getIdGrupo() {
return idGrupo;
}
public void setIdGrupo(int idGrupo) {
this.idGrupo = idGrupo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
public List<Tarefa> getTarefas() {
return tarefas;
}
public void setTarefas(List<Tarefa> tarefas) {
this.tarefas = tarefas;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + idGrupo;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Grupo other = (Grupo) obj;
if (idGrupo != other.idGrupo)
return false;
return true;
}
}
Controller metodo
public void associaMenuGrupo(){
MenuUsuarioGrupo mug = new MenuUsuarioGrupo();
grupo.setIdGrupo(1);
mug.setGrupo(grupo);
menuBusiness.removeMenuAssociadoGrupo(mug);
menuEscolhido = menuDualList.getTarget();
for(int i = 0; i<menuEscolhido.size(); i++){
Menu menu = new Menu();
menu.setIdMenu(menuEscolhido.get(i).getIdMenu());
mug.setGrupo(grupo);
mug.setMenu(menu);
menuBusiness.associarMenuGrupo(mug);
}
}
espero que algum de voces possam me ajudar e resolver isso.
abç a todos!!