Tenho uma duvida, vou tentar ser o mais claro possivel, na minha cabeça da seguinte forma estou pensando em fazer a seguinte maneira.
@Entity
@SuppressWarnings("serial")
public class Cliente implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
private String nome;
private String cpf;
private String cnpj;
private String tipoPessoa;
private String telefone;
private String celular;
private String email;
private Boolean situacao;
@ManyToOne(cascade = CascadeType.REMOVE)
@JoinColumn(name = "endereco_codigo")
private Endereco endereco = new Endereco();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "cliente")
private List<Carro> carros = new ArrayList<Carro>();
@Entity
@SuppressWarnings("serial")
public class Carro implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
private String descricao;
private String cor;
@OneToOne
@JoinColumn(name = "modelo_codigo")
private Modelo modelo = new Modelo();
@OneToOne
@JoinColumn(name = "marcaCarro_codigo")
private MarcaCarro marcaCarro = new MarcaCarro();
private String placa;
private String ano;
@ManyToOne
@JoinColumn(name = "cliente_codigo")
private Cliente cliente = new Cliente();
Um cliente pode ter varios carros e varios carros podem ter apenas um cliente.
Na minha cabeça penso da seguinte maneira, ter uma pagina de cadastro apenas de carro, com o crud completo! Depois na minha outra pagina de adicionar cliente, quero ter uma lista de carro que pode ser em selectMenu ou tabela mesmo, para poder adicionar um cliente e seus carros correto? Mais do jeito que eu modelei as classes, na hora de adicionar um carro, vou ter que adiconar um cliente também. E a minha intenção é adiconar apenas os carros e depois na minha tabela de cliente adicionar um cliente e escolher os carros cadastrado. Oque devo mudar?
Ou adiciono o cliente primeiro e depois na tela de carro eu faço algum campo tipo selectOneMenu ou uma tabela para o cliente?