JPA - Mapeamento de atributo estático

4 respostas
L

E aí pessoal td blz??
Fiz o mapeamento de algumas classes utilizando JPA annotations e a persistência no banco de dados postgresql. Em uma dessas
minha classes existe um atributo estático que eu quero e preciso guardar seu valor no banco. Entretanto nem foi criado o campo
referente a esse atributo na tabela e nem muito menos o atributo é reconhecido dentro das minhas Queries

O bendito atributo com sua respectiva annotation estão aí:

@Column(name="DIVIDENDO_FIXO", precision=10, scale=2) public static double dividendoFixo;

Detalhe: Todos os outros campos foram criados, são persistidos com exceção dele.

Pergunta 1: Existe alguma restrição do JPA quanto a atributos static?
Pergunta 2: Se existe como faço para indicar que mesmo ele sendo static eu quero mapeá-lo?

Desde já obrigado a todos que colaborarem…

4 Respostas

B

Laércio pelo que eu saiba não existe nenhuma restrição de mapear um campo que tenha o modificador static. Você já tentou criar essa coluna no banco, preencher e persistir esta entidade ?

L

Já tentei sim…
o campo não recebe nenhum valor.
e outra! se eu fizer um query e tentar chamar o atributo (QUE FOI MAPEADO COM ANNOTATION) dentro das
cláusulas da mesma,
é disparada uma exception de criação da query, ou seja, não reconhece o atributo.

B

Você tem essa exception? Poderia postar para agente ver ?

dev.rafael

Cara você realmente não pode mapear campos estáticos com JPA. Das duas uma, ou você vai ter que tornar esse campo
um atributo de instância, ou você pode usar um EntityListener para que o campo seja persistido de modo mais
transparente.

Criado 14 de julho de 2010
Ultima resposta 14 de jul. de 2010
Respostas 4
Participantes 3