Hibernate insere valores invertidos na tabela

Pessoal,

Estou tentando inserir um objeto no meu banco postgres via hibernate. O grande problema é que, na hora de produzir o sql pra inserir os valores do atributo na determinada coluna, ele inverte alguns valores. Veja o log:

[ERROR][2008-11-07:04:35:34]= (org.hibernate.util.JDBCExceptionReporter.logExceptions(101)) - Entrada em lote 0 insert into HBTA.TBCONJUNTOHABITACIONAL (xconhbaditivos, qconhbareaterreno, qconhbareatotalconstrucao, qconhbareaunidadehabitacional, dconhbdataentrega, dconhbdatainicio, dconhbdatamanutencao, nconhbempresacontrada, xconhbequipamentospublicos, econhblocalizacao, CRPAAAID, CMCRRGID, nconhbnome, qconhbnumerounidadeshabitacionais, nconhborgaoexecutor, xconhbservicoprestado, tconhbulat, nconhbtipo, vconhbvalorcontrato, cconhbid) values (, 0.0, 0.0, 0.0, NULL, NULL, NULL, , , qualquerNome, 1, 6, 2500, 20, , , 2008-11-07 16:35:34.356000 -0300, 0, 0.0, 58) foi abortada. Chame getNextException para ver a causa.

Esses valores em negrito eh q estão trocados. Na verdade, o correto deveria ser values (, 0.0, 0.0, 0.0, NULL, NULL, NULL, , , qualquerNome, 6, 1, 2500, 20… entende? Não sei mais oq fazer. Jah vasculho na net faz uma semana e nada…

Qualquer ajuda vale! =]

verifica o mapeamento de sua classe

Cara, tava ajudando um brother com o mesmo problema hoje, e o erro dele era no mapeamento da classe com as annottations.

Da um checada nisso ai.

Veja, acontece q o banco sobe tudo certo, mas a ordem dos valores não batem com a ordem dos atributos no banco. É possível q seja erro nas annotations com o banco certo e os valores errados?

Tem mais um detalhe estranhíssimo aih galera, vejam só:

Quando eu faço isso:

@OneToOne(fetch = FetchType.EAGER) @JoinColumns( { @JoinColumn(name = "CRPAAAID", referencedColumnName = "CRPAAACODI"), @JoinColumn(name = "CMCRRGID", referencedColumnName = "CMCRRGID") } ) public MicroRegiao getMicroRegiao() { return microRegiao; }

Ele cria a coluna com as chaves compostas trocadas. Ou seja, cria “(cmcrrgid, crpaaaid)” ao invés de “(crpaaaid, cmcrrgid)”. E isso me causa inconsistênca de dados. Além disso, a ordem dos values sai trocado como eu jah disse.

Mas, se eu tiro o atributo referencedColumn, ele sobe na ordem correta. Só esses problemas com os valores q persistem.
Loucura total…

Vlw!