Olá pessoal, estou com um problema pra salvar uma entidade (grupo) que tem relacionamento ManyToMany com usuarios:
Consigo salvar normalmente sem nenhum erro o grupo, mas o relacionamento não é salvo (só salva a tabela grupo)
a tabela usuariosGrupos (JoinTable) não recebe nada novo e quando vou ver meu grupo não tem nenhum usuario.
Agradeço qualquer tipo de ajuda (até reza forte em meu nome to aceitando :lol: )
minhas entidades são:
usuarios
usuariosGrupos (Entidade de relacionamento)
grupos
o annotation dos usuarios estão assim:
public class Usuarios implements java.io.Serializable {
private List<Grupos> grupos;
@ManyToMany(fetch = FetchType.LAZY,targetEntity=Grupos.class,cascade={CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name="USUARIOSGRUPOS",joinColumns=@JoinColumn(name="IDUSUARIO"),inverseJoinColumns=@JoinColumn(name="IDGRUPO"))
public List<Grupos> getGrupos() {
return this.grupos;
}
public void setGrupos(List<Grupos> grupos) {
this.grupos = grupos;
}
.........
E agora dos grupos:
public class Grupos implements java.io.Serializable {
private List<Usuarios> usuarios;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE},mappedBy = "grupos",targetEntity = Usuarios.class)
public List<Usuarios> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<Usuarios> usuarios) {
this.usuarios = usuarios;
}
..........
Meu codigo pra salvar o grupo passando uma Lista de Usuarios já existentes:
......
Grupos grupo = new Grupos();
grupo.setClientes(cliente);
grupo.setNome(gruposManagerBean.getNome());
grupo.setUsuarios(usuarios);
grupo.setIdgrupo(new BigDecimal(0));
grupo.setLogdatainclusao(Function.getDbmsTime());
DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.ORACLE);
GruposDAO gruposDAO = daoFactory.getGruposDAO();
gruposDAO.doSave( grupo );
........
Agora o DAO (doSave):
public void doSave(Grupos grupo) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.saveOrUpdate(grupo);
}