Wrong column type?

17 respostas
juniorsatanas

Pessoal, tenhoum campo x do tipo LONG, e o hibernate ta mostrando o seguinte erro :
Alguém sabe o por que ?

[code]
DEPLOYMENTS IN ERROR:
[code]
CREATE TABLE "scre"."TB_PLANO"
(

"CAMPO" LONG,

17 Respostas

E

http://www.java2s.com/Tutorial/Oracle/0420__PL-SQL-Data-Types/WhatisaLONGtype.htm

LONG do SQL != long do Java

N

Talvez, não tenho certeza, isso ocorra porque a precisão do campo na tabela é 19,0 (9999999999999999999) ma o max long é 9223372036854775807.

Altera a precisao para 18 para fazer um teste.

juniorsatanas

Não, DBA mandou eu me virar…
Da para mudar nem 1 , no banco !

juniorsatanas

juniorsatanas

N

troca o long primitivo por BigInteger

juniorsatanas
@Column(name = "campo")
    private Number campo;


pvida" is in error due to the following reason(s): org.hibernate.HibernateException: Wrong column type in HUMASTER.TB_PLANO for column DS_PLANO. Found: long, expected: raw(255)

juniorsatanas

juniorsatanas

OS VALORES QUE TEM NESSE CAMPO SÃO ESTES

juniorsatanas

E

entanglement:
http://www.java2s.com/Tutorial/Oracle/0420__PL-SQL-Data-Types/WhatisaLONGtype.htm

LONG do SQL != long do Java

Tio, eu avisei logo de cara que o LONG do PL/SQL não é o LONG do Java.

Se você fosse um pouco menos desesperado, veria que todos os campos DS_alguma coisa são “Descrições” ou coisa parecida.

Então são sempre TEXTO. Ou seja, se não são VARCHAR2, são CLOB ou coisa parecida.

Como está escrito no link que lhe passei, o tipo LONG do Oracle é igualzinho ao VARCHAR2.

Mas como você tentou o mapeamento com STRING e não deu certo, provavelmente vai ter de consultar a documentação do seu dialeto do JPA para ver qual é o mapeamento correto a ser usado.

juniorsatanas

E

http://www.laliluna.de/jpa-hibernate-guide/ch10s02.html

Será que você tem de usar @Lob também? Não tenho aqui um banco Oracle para testar isso.

N

não sei se você tinha dito ou não mas pensei que era 19,0 e não 19,2.

Tenta usar BigDecimal

Desculpa mas é que nesse momento não tenho como testar pra dizer se é isso com certeza.

juniorsatanas

nfrpaiva , os dados são TEXTO…
Já testei BigDecimal…
Ate testei @Satanas666

Agora vou testar o que o amigo postou : @Lob

juniorsatanas

juniorsatanas

Criado 2 de julho de 2012
Ultima resposta 3 de jul. de 2012
Respostas 17
Participantes 3