
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.