Galera estou com duas duvidas no hibernate annotations, vou explicar:
1- Tenho duas classes mapeadas por exemplo(Pessoa, Endereco), quando vou persistir a Pessoa ela gera no banco o codigo = “1” e logo em seguida quando vou persistir a tabela Endereco ela gera o codigo = “2” ao inves de gerar o codigo = “1” para ela tbm, pq isso ocorre? tem solucao?
2- Se eu for persistir a classe Pessoa, sendo que o campo rg e cpf sao = “unique” e eu informo um ja existente ele nao salva o registro no banco(e claro), porem ele me gera o codigo da sequence como se tivesse sido persistido, pq isso ocorre? tem solucao?
Vc deve estar utilizando a mesma sequence para as duas tabelas, dê uma verificada…
O hibernate vai sempre chamar a sequence antes do insert, não tem como ele fazer de outra maneira… O que vc pode fazer é fazer essa validação antes de chamar o .save(). Consulte o banco e verifique se já existe algum registro com esse RG e CPF.
e a tabela Endereco seria
pessoa_id
endereco
numero
bairro
etc etc etc...
diogoprosoft
Valeu Lavieri,
Realmente fiz um teste aqui e tive que dar um nome as sequences para diferenciar a sequencia de valores. E para o salvar vou ver aqui mais creio que terei que fazer o que vc me disse.