| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2012 09:37:41
|
Eldius
Entusiasta Java
Membro desde: 24/01/2008 21:37:17
Mensagens: 21
Offline
|
Olá, pessoal, beleza?
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?
|
O mundo precisa de mais gênios humildes, pois nós estamos morrendo. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2012 09:39:03
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
E a propriedade nullable, está como?
Que relacionamento está utilizando?
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2012 09:53:36
|
Eldius
Entusiasta Java
Membro desde: 24/01/2008 21:37:17
Mensagens: 21
Offline
|
Opa, drsmachado, beleza?
No momento está mapeado desta forma:
Os atributos insertable e updatable estão como false pois há mais algumas referências que necessitam do atributo COD_CONVENIO.
|
O mundo precisa de mais gênios humildes, pois nós estamos morrendo. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2012 11:52:32
|
GraveDigger
JavaEvangelist
![[Avatar]](/images/avatar/3332880692313818482a5a0286608ab6.jpg)
Membro desde: 07/07/2005 13:47:12
Mensagens: 354
Localização: Aracajú
Offline
|
Olá,
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.
Att
|
SCWCD
SCJP
Pedro Henrique Lobato Sena
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2012 13:27:24
|
Eldius
Entusiasta Java
Membro desde: 24/01/2008 21:37:17
Mensagens: 21
Offline
|
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...
|
O mundo precisa de mais gênios humildes, pois nós estamos morrendo. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2012 15:37:11
|
Eldius
Entusiasta Java
Membro desde: 24/01/2008 21:37:17
Mensagens: 21
Offline
|
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...
|
O mundo precisa de mais gênios humildes, pois nós estamos morrendo. |
|
|
 |
|
|