Hibernate ignorar atributo nao @Transient ao persistir  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Olá.

Preciso que o hibernate ignore um atributo não @Transient ao persistir.

Pq não @Transient?
Pq numa situação preciso que este objeto passe pela rede, ou seja, ele será serializado e o processo de serialização também ignora @Transient.
Mas nesse caso quero o atributo vá junto.

Ou seja, se coloco @Transient ele não é persistido, o correto.
Mas ele não passa pela rede.

Se não coloco @Transient, ele será persistido, errado.
Por outro lado ele passará pela rede.
[WWW] [MSN] [ICQ]
heatcold
JavaGuru
[Avatar]

Membro desde: 22/09/2006 10:34:26
Mensagens: 240
Offline

Uma solução seria criar uma classe, herdando a primeira, configurando essa classe para serializar o atributo marcado como @Transient.
Essa classe seria utilizada na serialização do objeto pela rede.

Outra solução, seria setar o atributo para null, antes da chamada do hibernate.
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Obrigado pelas dicas heatcold. Me deu algumas ideias.

A primeira opção é complicado. Muitas classes.
Apenas se usasse uma manipulação de bytecode para gerar essas classes em runtime. Mas isto tb teria problemas, pois o outro lado, a outra JVM não teria essas novas classes geradas em runtime.

A segunda opção não é viável pois não existe coluna para este atributo na tabela, não é questão de ser ou não persistido, mas sim não há onde persistir. Dai o hibernate estoura pois a coluna não existe.

[WWW] [MSN] [ICQ]
heatcold
JavaGuru
[Avatar]

Membro desde: 22/09/2006 10:34:26
Mensagens: 240
Offline

Uma outra forma de fazer o que você quer seria escrever manualmente o insert.
dalifreire
Entusiasta Java

Membro desde: 02/04/2004 11:35:20
Mensagens: 15
Offline

ja tentou colocar os atributos na anotação ?
[ICQ]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team