Tarde galera!
Estou com um erro esquisito…
Tenho uma classe de Fornecedores, Produtos, e FornecedorProduto onde nessa tabela eu quero fazer um bidirecional, e contém várias informações…
Vamos as classes:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "Item_Type", discriminatorType = DiscriminatorType.INTEGER)
@DiscriminatorValue("0")
public class Item {
@Id
@GeneratedValue
private Long id;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "Item_Provider", inverseJoinColumns = @JoinColumn(name = "id"), joinColumns = @JoinColumn(name = "item_id"))
private List<ItemProvider> providerInfo;
@Entity
public class Provider {
@Id
@GeneratedValue
private Long id;
@ManyToMany
@JoinTable(name = "Item_Provider", inverseJoinColumns = @JoinColumn(name = "id"), joinColumns = @JoinColumn(name = "provider_id"))
private List<ItemProvider> item;
@Entity
@Table(name = "Item_Provider")
public class ItemProvider {
@Id
@GeneratedValue
private Long id;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "Item_Provider", inverseJoinColumns = @JoinColumn(name = "provider_id"), joinColumns = @JoinColumn(name = "id"))
private Provider provider;
@ManyToMany(cascade = CascadeType.ALL)
//@JoinTable(name = "Item_Provider", inverseJoinColumns = @JoinColumn(name = "item_id"), joinColumns = @JoinColumn(name = "id"))
private Item item;
@Column(length = 50)
private String code;
@Column(length = 80)
private String name;
Bom, no começo na minha classe ItemProvider eu usei @ManyToOne, mas houve um erro na Chave Estrangeira, ele indexou o ID (PrimaryKey) com uma outra chave extrangeira…
Alguém sugere uma maneira mais fácil de resolver isso?
Valew Galera!

