Pessoal,
em um mapeamento @ManyToOne eu uso optional=false ou nullable=false? A FK é requerida.
@ManyToOne(optional=false)
@JoinColumn(name="id_cliente")
private Cliente cliente;
ou
@ManyToOne
@JoinColumn(name="id_cliente", nullable=false)
private Cliente cliente;
Qual é o mais certo? Ou os dois juntos?
Grato
Ademir
Também tenho a mesma dúvida.
Dizem que o optional, é uma restrição a nível de runtime
Dizem que o nullable é uma verificação gerada no ddl do banco.
Porém fiz os teste e somente com nullable não rolou o “not null” no banco.
Estou postando para “dar um up” no post.
Fiz os testes novamete e parece que tem sentido mesmo o que expliquei acima.
Se mais alguém puder fazer o teste ai.
Esses dias eu utilizei o optional e ele criou o not null no banco mysql
:?
Edit: eu me confundi, na verdade o optional deixou o campo como Unique Index