Seguinte pessoal.
Tenho uma relação ManyToMany, mas estou com um problema, no momento de realizar a criação da tabela (utilizando hibernate), ele está criando quatro FOREIGN KEYs, quando deveria ciar apenas 2
Alguém sabe me dizer o que pode ser?
Codigos.
Tabela Finalidade.@Entity
public class Finalidade implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo_finalidade;
@ManyToMany
@JoinTable(name = "finalidademensagem", joinColumns = {
@JoinColumn(name = "codigo_finalidade")},
inverseJoinColumns = {
@JoinColumn(name = "codigo_infnfe")})
@Cascade({org.hibernate.annotations.CascadeType.ALL})
private Collection<InfNfe> mensagens;
Get e Set...
}
@Entity
public class InfNfe implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo_infnfe;
@Lob
@Column(name = "titulo", nullable = false)
private String titulo;
@Lob
@Column(name = "mensagem", nullable = false)
private String mensagem;
@Column(name = "status", nullable = true)
private boolean status;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "loginestab")
private LoginEstab loginestab;
@ManyToMany
@JoinTable(name = "finalidademensagem", joinColumns = {
@JoinColumn(name = "codigo_infnfe")},
inverseJoinColumns = {
@JoinColumn(name = "codigo_finalidade")})
@Cascade({org.hibernate.annotations.CascadeType.ALL})
private Collection<Finalidade> finalidades;
Get e Set
}
@Embeddable
public class FinalidadeMensagemPK implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne
@JoinColumn(name="codigo_infnfe")
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private InfNfe codigo_infnfe;
@ManyToOne
@JoinColumn(name="codigo_finalidade")
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private Finalidade finalidade;
}
