[i]Galera to quebrando a cabeça aqui e não consigu resolve de jeito nenhum…
Tenho um relacionamento ManyToMany no hibernate.
mapeado tdo certinho como mostra abaixo:[/i]
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "itinerario_sp", joinColumns = @JoinColumn(name = "itinerario_id"), inverseJoinColumns = @JoinColumn(name = "sp_id"))
private Collection<SP> sp;
[i]
na tela tenho um pickLIst onde o usuario pode selecionar mais de um item.
Ok, funciona certinho, porém na hora que vou persistir os dados recebo a seguinte exception :[/i]
javax.persistence.PersistenceException: org.hibernate.HibernateException: illegally attempted to associate a proxy with two open Sessions
[i]Estou persistindo da seguinte forma :
BEAN: [/i]
// Outros códigos omitidos
List<SP> listaSPs = new ArrayList<SP>();
for (SP s : target) {
listaSPs.add(spdao.findByID(s.getIdSP()));
}
itinerario.setSp(listaSPs);
itinerarioDAO.save(itinerario);
[i]Onde target é a lista que pego do picklist. ( Não tenho problema com essa lista, esta vindo certinha ).
DAO:[/i]
try {
this.em.getTransaction().begin();
this.em.persist(t); < -------
this.em.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
this.em.close();
}
[i]
A exception aponta diretamente para onde esta a seta no DAO.
Alguem poderia, por favor, me ajudar com essa exception?
Não sei mais o que fazer.
Obrigadooo.[/i]
