I'm using Hibernate 2.1.1.
When I execute the code below I get the following error:
Code:
WARN : SQL Error: 0, SQLState: null
ERROR: ERROR: Unable to identify an operator '=' for types 'numeric' and 'double precision'
You will have to retype this query using an explicit cast
WARN : SQL Error: 0, SQLState: null
ERROR: ERROR: Unable to identify an operator '=' for types 'numeric' and 'double precision'
You will have to retype this query using an explicit cast
ERROR: could not load: [vo.ProdutoDadosProducao#vo.ProdutoDadosProducaoPK@543cb1[diametroNominal=10.00,equipProd=vo.EquipProd@120b2da[id=1],produto=vo.Produto@1be4663[id=1]]]
java.sql.SQLException: ERROR: Unable to identify an operator '=' for types 'numeric' and 'double precision'
You will have to retype this query using an explicit cast
at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:131)
( ... )
Can someone please help me?
Don't know what to do...
----------------------------------------
Mapping file (generated with R3)
----------------------------------------
ProdutoDadosProducaoCode:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class
name="vo.ProdutoDadosProducao"
table="produto_dados_producao"
>
<composite-id name="comp_id" class="vo.ProdutoDadosProducaoPK">
<key-property
name="diametroNominal"
column="diametro_nominal"
type="java.math.BigDecimal"
length="10"
/>
<!-- bi-directional many-to-one association to EquipProd -->
<key-many-to-one
name="equipProd"
class="vo.EquipProd"
>
<column name="equip_prod_fk" />
</key-many-to-one>
<!-- bi-directional many-to-one association to Produto -->
<key-many-to-one
name="produto"
class="vo.Produto"
>
<column name="produto_fk" />
</key-many-to-one>
</composite-id>
<property
name="debito"
type="java.math.BigDecimal"
column="debito"
length="10"
/>
<property
name="userId"
type="java.lang.String"
column="user_id"
not-null="true"
length="10"
/>
<!-- associations -->
</class>
</hibernate-mapping>
----------
Code
----------
Code:
( ... )
res = session.find("select pdp.comp_id.diametroNominal, pdp.comp_id.equipProd.id, pdp.comp_id.produto.id from vo.ProdutoDadosProducao pdp where pdp.comp_id.equipProd = ? and pdp.comp_id.produto = ?",
new Object[] {equip_prod_id, produto_id}, new Type[] {Hibernate.LONG, Hibernate.LONG});
Iterator it = res.iterator();
while(it.hasNext()) {
Object[] obj = (Object[])it.next();
ProdutoDadosProducaoPK dado_producao_pk = new ProdutoDadosProducaoPK();
EquipProd equip_prod = new EquipProd();
equip_prod.setId((Long)obj[1]);
dado_producao_pk.setEquipProd(equip_prod);
Produto produto = new Produto();
produto.setId((Long)obj[2]);
dado_producao_pk.setProduto(produto);
dado_producao_pk.setDiametroNominal((BigDecimal)obj[0]);
ProdutoDadosProducao dado_producao = (ProdutoDadosProducao)session.get(ProdutoDadosProducao.class, dado_producao_pk);
session.delete(dado_producao);
}
transaction.commit();
( ... )