Hibernate - Consulta em banco sem integridade

Boa tarde a todos,

Gostaria de saber se alguém pode me ajudar a sair desta cilada. Preciso realizar uma consulta relacionando duas tabelas, mas o problema é que o banco não possui integridade (MYSQL 3). Como estou criando uma extensão para um sistema antigo desenvolvido em delphi, não posso ficar mechendo nas tabelas antigas, senão já viu . . . Estou tentando utilizar o método createSQLQuery(), mas não estou obtendo sucesso. Será que o jeito é utilizar somente JDBC puro nesses casos ?

Sem mais,

Obrigado pela atenção . . .

Você não está obtendo sucesso pq? Qual a dificuldade que vc está tendo? Talvez usar JDBC seja o aconselhado mesmo para seu caso já que o banco não está com integridade e vc não vai poder desfrutar de vantagens do hibernate.

Então rocha,

Estou tentando realizar esta consulta :


. . . .

.createSQLQuery("SELECT {C.*} FROM clientes C, exp_consig E WHERE E.export = '4' AND C.cod_clie = E.consig ")
.addEntity("C", Clientes.class)
.addEntity("E", ExpConsig.class)
.list();

Mas ele registra a seguinte exceção :


Exception in thread "main" (type.IntegerType                    182 ) could not read column value from result set: export94_1_; Column 'export94_1_' not found.
(util.JDBCExceptionReporter          77  ) SQL Error: 0, SQLState: S0022
(util.JDBCExceptionReporter          78  ) Column 'export94_1_' not found.
org.hibernate.exception.SQLGrammarException: could not execute query
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.loader.Loader.doList(Loader.java:2214)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
	at org.hibernate.loader.Loader.list(Loader.java:2090)
	at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
	at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
	at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
	at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
	at com.br.ibfweb.draft.dao.ClientesDAO.listConsigneeByExportador(ClientesDAO.java:68)
	at com.br.ibfweb.draft.dao.Teste.main(Teste.java:21)
Caused by: java.sql.SQLException: Column 'export94_1_' not found.
	at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:910)
	at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2353)
	at org.hibernate.type.IntegerType.get(IntegerType.java:28)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
	at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
	at org.hibernate.type.ComponentType.hydrate(ComponentType.java:560)
	at org.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:275)
	at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1088)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:553)
	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.doList(Loader.java:2211)
	... 8 more

A coluna que está sendo citada na exceção está definida no arquivo de configuração :


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 26/09/2007 11:14:30 by Hibernate Tools 3.2.0.b9 -->

<hibernate-mapping>
    <class name="com.br.sistema.bean.ExpConsig" table="exp_consig">
        <comment></comment>
        <composite-id name="id" class="com.br.sistema.bean.ExpConsigId">
            <key-property name="export" type="java.lang.Integer">
                <column name="export" />
            </key-property>
            <key-property name="consig" type="java.lang.Integer">
                <column name="consig" />
            </key-property>
        </composite-id>
    </class>
</hibernate-mapping>