JPA - @Transient [Resolvido]

Tenho uma coluna virtual, onde ela não pode ser considerada para insert ou update.

@Transient
@Column(name = "tp_coragenda", insertable = false, updatable = false)
private String tpCoragenda;

Apenas usando o “insertable = false, updatable = false” é exigido a coluna no banco e se eu usar @Transient é apresentado o seguinte erro:

javax.servlet.ServletException: Exception [EclipseLink-30005] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
Exception Description: An exception was thrown while searching for persistence archives with ClassLoader: WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [uauanna.persistence] failed.
Internal Exception: Exception [EclipseLink-7153] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Mapping annotations cannot be applied to fields or properties that have a @Transient specified. [field tpCoragenda] is in violation of this restriction.

Alguem sabe me informar como desconsiderar uma coluna virtual para inserção e update?

Se a coluna não existe, não deves ter a annotation @Column. Basta simplesmente:

@Transient
private String tpCoragenda;

Bom dia, vlw pela resposta.

Mas nesse caso como ficaria mapeamento da minha coluna virtual, pois sem @Column não esta sendo mais retornado no select.

Abs

Mas a coluna existe na tabela? Se existe não é transient, é column com updatable e insertable a false.

O campo não existe na tabela que esta sendo realizado o insert/update, existe apenas na tabela de relacionamento (JOIN).

Agora complicou, pois não queria ter que fazer relacionamento apenas por causa de um campo, achei que se bloqueasse isso resolveria.

Abs

Talvez com @Formula ?

Acabei resolvendo da seguinte forma, como esse campo é de um relacionamento entre tabelas fiz amarração via JPA o problema disso que retorna toda entidade da forma que estava era apenas aquela campo.

Obrigado pelo apoio.

Att,

Em vez de selecionares toda a entidade principal, cria um construtor teu, com os campos que necessitas. Desta forma só vais obter as colunas necessárias.