Estou desenvolvendo um projetinho de controle de pizzaria.
Tenho umas classes que preciso fazer um relacionamento, vou listar algumas aqui pra vcs verem se estou fazendo certo.
Um Sabor pode estar em várias pizzas e uma pizza pode ter vários sabores (Não coloquei annotation ai porque fiz na classe pizza) Sabor.java@Entity
@Table(name = "tbl_sabor")
public class Sabor {
@GeneratedValue
@Id
@Column(name = "id_sabor")
private long id;
@Column(name = "nome")
private String nome;
@Column(name = "tamanho")
private String tamanho;
@Column(name = "preco_producao")
private double precoProducao;
@Entity
@Table(name = "tbl_produto")
public class Produto {
@Id
@GeneratedValue
@Column(name = "id_produto")
private long id;
@Column(name = "nome")
private String nome;
@Column(name = "preco_unitario", length = 10, nullable = false)
private double precoUnitario;
@Column(name = "preco_venda")
private double precoVenda;
@Column(name = "unidade_medida")
private String unidadeMedida;
@Column(name = "quantidade_disponivel")
private int quantidadeDisponivel;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_fornecedor")
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private Fornecedor fornecedor;
@Column(name = "tipo")
private String tipo;
}
@Entity
@Table(name = "tbl_pizza")
public class Pizza {
@Id
@GeneratedValue
@Column(name = "id_pizza")
private long id;
@Column(name = "tamanho", nullable = false)
private String tamanho;
@Column(name = "preco_venda", nullable = false)
private String precoVenda;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "sabor_pizza", joinColumns = { @JoinColumn(name = "id_pizza") }, inverseJoinColumns = { @JoinColumn(name = "id_sabor") })
private List<Sabor> sabores;
Queria ver se estou seguindo no caminho certo, se não, que vocês me orientassem do modo correto.
Obrigado!