renatta
Setembro 24, 2007, 5:51pm
#1
Estou com problema na leitura de um campo em uma tabela definido no banco Oracle como char(3).
Eu fiz uma query nativa sql, que o JPA Hibernate interpreta o campo char(3), como Character, e retorna apenas um caracter ao inves de 3.
Como faço para mapear um valor char do banco e te-lo como um String no Java?
obrigada pela atenção.
Defina o campo no bean como String.
Exemplo
@Entity
public class Departamento{
@Id
private int id;
// esse campo no banco é char(3)
private String sigla;
// getters e setters omitidos
}
renatta
Setembro 25, 2007, 2:58pm
#3
Obrigada por ter respondido,
mas eu ja estava declarando como String, mesmo assim o hibernate interpretava como char.
eu consegui resolver esse problema usando cast na query sql:
SELECT CAST( T.NOME AS VARCHAR2(3)) NOME FROM TABELA T
Valeu!
Muito chato isso, tira toda a nossa autonomia do projeto!
Mudando um pouco de assunto: você já mexeu com TopLink? É um framework ORM da Oracle, o qual implementa JPA também (concorrente do Hibernate?).
Dê uma olhada aqui .
Abraços.
_fs
Setembro 25, 2007, 5:42pm
#5
Estranho.
Talvez este link te dê uma luz:
http://www.hibernate.org/90.html
fmeyer
Novembro 20, 2007, 6:21pm
#6
[quote=LIPE]Estranho.
Talvez este link te dê uma luz:
http://www.hibernate.org/90.html[/quote]
Esse hackzinho eh necessario pq a oracle nao usa o padrao para MetaData.
ps; TopLink Fede :twisted: