E ai galera,
Estou com um problema com Hibernate. Tenho o Seguinte mapeamento abaixo.
......
@SequenceGenerator(name = "SEQ_GENERATOR", sequenceName = "SQ_ACESSO_ID", allocationSize = 1)
@Entity
@Table(schema = "ACESSO", name = "FUNCIONALIDADE")
@NamedQueries({
@NamedQuery(name = "Funcionalidade.findAll", query = "select a from Funcionalidade a")
})
public class Funcionalidade {
private static final long serialVersionUID = -6359589600536668167L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GENERATOR")
@Column(name = "ID")
private Long id;
@NotEmpty
@Column(name = "FUNC_NOME")
private String nome;
@ManyToMany(targetEntity=com.login.acesso.entity.Componente.class,cascade={CascadeType.ALL})
@JoinTable(
name="FUNCIONALIDADE_COMPONENTE",
joinColumns={@JoinColumn(name="FNCP_FUNC_ID")},
inverseJoinColumns={@JoinColumn(name="FNCP_COMP_ID")}
)
private List<Componente> componentes = new ArrayList<Componente>();
........get e sets........
}
............
@Entity
@SequenceGenerator(name = "SEQ_GENERATOR", sequenceName = "SQ_ACESSO_ID", allocationSize = 1)
@Table(schema = "ACESSO", name = "COMPONENTE")
@NamedQueries({
@NamedQuery(name = "Componente.findAll", query = "select a from Componente a where a.sistema = :sistema ")
})
public class Componente {
private static final long serialVersionUID = 5798606359670714152L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GENERATOR")
@Column(name = "ID")
private Long id;
@NotEmpty
@Column(name = "COMP_NOME")
private String nome;
@NotNull
@ManyToOne
@JoinColumn(name = "COMP_SIST_ID")
private Sistema sistema;
@ManyToMany(
cascade={CascadeType.PERSIST, CascadeType.MERGE},
mappedBy="componentes",
targetEntity=com.login.acesso.entity.Funcionalidade.class
)
private List<Funcionalidade> funcionalidades;
........get e sets........
}
Quando vou persistir o objeto Funcionalidade sempre ele faz um DELETE e um INSERT na tabela "FUNCIONALIDADE_COMPONENTE" , a lista não está sendo manipulada.
Se eu fizer uma consulta e logo em seguinte em updade ocorre o msm erro.
Acredito que deveria fazr um update ou nada se o relacionamento já existe.
Vlw pela ajuda.
abraços