Estou tendo alguns problemas aqui devido ao fato de uma entidade (tabela) autorizacao que referencia um beneficiario, um beneficiário pode ser removido mas o histórico de autorizações deve ser mantido, por isso não há referência de integridade (foreign key) entre as entidades.
O problema é que quando eu faço a busca o Hibernate lança uma exception e aborta tudo… Alguém sabe como eu posso ignorar isso e seguir em frente sem precisar remover a referência entre os objetos?
Quando o beneficiário é removido as autorizações ficam com essa(s) coluna(s) null ? Isso atende seus requisitos? Parece que você perderá uma informação importante.
Sugiro ter uma flag para fazer uma pseudo-exclusão, apenas marcando-o como inativo ao invés de removê-lo de fato.
Caso isso não seja possível creio que setar o atributo optional, da annotation @ManyToOne para true deva resolver seu problema.
Valeu, GraveDigger, vou tentar essa opção do optional…
Quanto ao funcionamento, ele mantém a referência (os atributos da autorização que referenciam o beneficiário não é alterado)…
E não posso alterar o funcionamento pois esse processo de inclusão/remoção de beneficiários é feita por um sistema que não tenho acesso e esse sistema apaga ao invés de sinalizar como inativo…
Foi mal pela demora, só pude testar essa solução (incluir o atributo ‘optional=true’ na anotação ‘ManyToOne’) hoje pela manhã… E infelizmente ela não funcionou…
Mas ao menos consegui conversar com o pessoal e eles ficaram de rever o funcionamento do sistema que altera a base de dados.
Mas ainda assim eu gostaria de saber se há uma solução pra isso…