O velho problema de Conversão de tipos no JPA! Agradeço qualquer ajuda  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
gutomaia
HelloWorld

Membro desde: 29/12/2008 10:24:50
Mensagens: 12
Offline

Bem, o problema é um velho conhecido.

Tenho um tipo booleno ao qual o jpa nao consegue converter para um tipo esperado em uma tabela.

No meu caso tenho uma tabela no oracle com "char(1") com os valores "S" e "N" para representar um boolean.

Meu problema:
1) eu não gosto de usar anotações, acho que polue muito as classes e as tornam especificas de dominio ao invez de um bom e velho pojo. Logo o meu mapeamento está todo em XML e as minhas classes de dominio são todas pojos simples sem anotações especificas de qualquer solução.

2) Já tentei todas as soluções possiveis e agora estou analizando a possibilidade de resolver remapeando atravez do dialeto do hibernate. Tomei como base a classe abaixo.



problema, ele até gera um banco da forma esperada colocando o char(1) como tipo da tabela. Coisa que também já era feita antes usando:


ou seja, consegui reproduzir no hibernate oque já poderia fazer no xml.

O que me falta é o jpa fazer a substituicao de TRUE por "S" e FALSE por "N". Já tentei o isso associado ao:



bem... até agora nada.

outra solução inviavel no meu caso é fazer uso do toplink neste caso particular.

===========================
Certified ScrumMaster (CSM)
Sun Certified Java Programer (SCJP)
Sun Certified Web Component Developer (SCWCD)
Sun Certified Business Component Developer (SCBCD)
Sun Certified Developer for Java Web Services (SCDJWS)
Sun Certified Mobile Application Developer (SCMAD)
Zend Certified Engenieer for PHP 5 (ZCE-PHP5)
===========================
wmitsuda
JavaEvangelist

Membro desde: 25/02/2005 17:02:40
Mensagens: 334
Offline

Acho que vc precisa mapear usando um tipo customizado.

O hibernate já vem com algo parecido c/ o que vc quer, mas mapeia um boolean p/ um char(1) usando 'Y' ou 'N'.

http://www.hibernate.org/hib_docs/v3/api/org/hibernate/type/YesNoType.html

Se vc quer gravar 'S' ou 'N', talvez possa usar o fonte dessa classe como base e escrever seu próprio user type.

Sun Java Certified POG Master Developer
http://www.willianmitsuda.com
[WWW]
joca_java
JavaChild
[Avatar]

Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline

Ao invés de colocar:



Tenta colocar assim e vê se funciona:



[]´s

This message was edited 1 time. Last update was at 02/01/2009 10:22:45

gutomaia
HelloWorld

Membro desde: 29/12/2008 10:24:50
Mensagens: 12
Offline

joca_java wrote:Ao invés de colocar:



Tenta colocar assim e vê se funciona:



[]´s


Dentro do arquivo XML de configurações do JPA a notação para as propriedades do hibernate é diferente...
Depois posto um exemplo, mas é assim mesmo.

===========================
Certified ScrumMaster (CSM)
Sun Certified Java Programer (SCJP)
Sun Certified Web Component Developer (SCWCD)
Sun Certified Business Component Developer (SCBCD)
Sun Certified Developer for Java Web Services (SCDJWS)
Sun Certified Mobile Application Developer (SCMAD)
Zend Certified Engenieer for PHP 5 (ZCE-PHP5)
===========================
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team