Foros del Web » Programación para mayores de 30 ;) » Java »

[Hibernate] error delete con hql

Estas en el tema de [Hibernate] error delete con hql en el foro de Java en Foros del Web. Ante todo muchas gracias que estoy siendo un poco "pesado" con el tema Hibernate . Bien el problema que tengo es que si hago un ...
  #1 (permalink)  
Antiguo 22/10/2010, 06:15
 
Fecha de Ingreso: abril-2005
Mensajes: 171
Antigüedad: 19 años
Puntos: 0
[Hibernate] error delete con hql

Ante todo muchas gracias que estoy siendo un poco "pesado" con el tema Hibernate.

Bien el problema que tengo es que si hago un delete de una tabla con HQL obtengo el siguiente error org.hibernate.MappingException: Unknown entity: java.lang.String.

La tabla es: Tabla A con los campos
id1 pk integer
id 2 pk fk Tabla C number(3)
id 3 pk fk Tabla C varchar2(20)
c1 fk tabla B number 15
c2 number 5,2
c3 number 5,2
c4 number 10,2
c5 number 10,2

el pojo Tabla A es
private PojoB objPojoB
private PojoC c1
private Double c2
private Double c3
private Double c4
private Double c5

el pojoB es el de la clave primaria de la tabla y seria:

private Integer id1;
private Integer id2;
private String id3;

y el mapeo
<composite-id name="objPojoB" class="PojoB">
<key-property name="id1" type="integer">
<column name="ID1" precision="22" scale="0" />
</key-property>
<key-property name="id2" type="integer">
<column name="ID2" precision="3" scale="0" />
</key-property>
<key-property name="id3" type="string">
<column name="ID3" length="20" />
</key-property>
</composite-id>
<many-to-one name="c1" class="PojoC" fetch="select">
<column name="C1" precision="15" scale="0" />
</many-to-one>
<property name="c2" type="double">
<column name="C2" precision="5" not-null="true" />
</property>
<property name="c3" type="double">
<column name="C3" precision="5" not-null="true" />
</property>
<property name="c4" type="double">
<column name="C4" precision="10" not-null="true" />
</property>
<property name="c5" type="double">
<column name="C5" precision="10" not-null="true" />
</property>

La consulta es:

sQuery = "FROM PojoA a WHERE a.PojoB.id3 = :id3");

objSession.createQuery(sQuery);
objQuery.setParameter("id3", StringId3);
objSession.delete(objQuery.getQueryString());

Con el resultado mencionado anteriormente.

Muchas gracias.

Etiquetas: delete, hibernate
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:46.