Olá estou com probleminha aqui... gostaria de fazer um relacionamento ManyToMany porém minha tabela de relacionamento tem outras informaçoes além dos dois id de relacionamento e estou com problema quanto a isso.
Estou fazendo assim: Usuario@Entity
@Component
public class Usuario implements Serializable {
//..campos do usuario
//o cascade type precisa ser all pq preciso remover/inserir na tabela PermissaoUsuario sempre que for salvar usuario.
@OneToMany(mappedBy = "usuario", targetEntity = PermissaoUsuario.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<PermissaoUsuario> permissoesUsuario;
//gets/sets
}
@Table(name = "permissao_usuario")
@Entity
@Component
public class PermissaoUsuario extends DefaultModel implements Serializable {
private static final long serialVersionUID = 4231479231876850717L;
//merda ta aqui... n poderia ter esse id o id teria que ser Permissao + usuario
@Id
@SequenceGenerator(name = "sequence", sequenceName = "seq_permissao_usuario")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "sequence")
private Long id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "permissao_id", nullable = false)
private Permissao permissao;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "usuario_id", nullable = false)
private Usuario usuario;
@NotEmpty
@Column(nullable = false, length = 1)
private String status;
//gets/sets
desse modo que esta... toda vez que salvo um usuario ele adiciona uma nova row na PermissaoUsuario (mesmo quando ja existe um usuario com a permissao), e nao esta removendo quando mando null.