[Resolvido] O que é a marcação transient?

5 respostas
Bear

Olá,

Estou utilizando PMD no código e ele aponta a seguinte violação:

Found non-transient, non-static member. Please mark as transient or provide accessors.

A solução aceita seria marcar o objeto como transient ou implementar metodos de acesso como get e set;

Gostaria de entender o porque dessa solução e o que siguinifica essa marcação transient?

Grato pela atenção!

5 Respostas

Hebert_Coelho

Por algum acaso seu campo está como privado e não é utilizado?

drsmachado

Esta é a documentação da anotação @Transient, cuja funcionalidade é a mesma da keyword transient.
Dê uma lida.

Bear

Sim é privado, e pela documentação entedi que marco como transient se o objeto nao será persistido.

Obrigado pela ajuda!

Agora outra duvida relacionada é como o java trata esses campos marcados como transient em tempo de execução?

Muito grato a quem poder responder ou indicar material sobre o assunto.

drsmachado

Como qualquer atributo. Se é null, como null, se possui valor, como um contentor de valor.
A única restrição é quando você tenta persistir (ou serializar). Neste caso, o java nem se preocupa com ele, simplesmente o ignora.

Bear

Ja posso marcar esse tópico como resolvido :slight_smile:

Obrigado!

Criado 7 de novembro de 2012
Ultima resposta 12 de nov. de 2012
Respostas 5
Participantes 3