Nuevas Tecnologías - Hibernate 2 problema con query

 
Vista:

Hibernate 2 problema con query

Publicado por Carina (1 intervención) el 17/11/2005 13:41:11
Hola: estoy haciendo un programita utiliando hibernate 2.0. Tengo un problema cuando quiero hacer esta consulta:

select distinct dt.id from DocumentType dt, Document d where d.volumeId=1 and dt.id=d.documentTypeId

el Error que me sale es mas o menos el siguiente:

opened session
net.sf.hibernate.QueryException: could not resolve property: volumeId of: Document [select distinct dt.id from DocumentType dt, Document d where d.volumeId=1 and dt.id=d.documentTypeId]
at net.sf.hibernate.persister.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
at net.sf.hibernate.hql.PathExpressionParser.getPropertyType
.....
find: select distinct dt.id from DocumentType dt, Document d where d.volumeId=1 and dt.id=d.documentTypeId
compiling query
closing session
disconnecting session
transaction completion

Loa archivos de mapeo mas o menos son: (los corte para que no sean tan largos)

tipo.hbm
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping package="model">
<class name="DocumentType" table="TipoDoc">
<id
column="id"
name="Id"
type="java.lang.Integer"
>
<generator class="vm" />
</id>
......
</class>
</hibernate-mapping>

Document.hbm
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping package="model">
<class name="Document" table="Documento">
<id
column="id"
name="id"
type="java.lang.Integer"
>
<generator class="vm" />
</id>
....
<many-to-one
class="DocumentType"
name="documentType"
not-null="true"
>
<column name="documentTypeId" />
</many-to-one>
<many-to-one
class="Volume"
name="volume"
not-null="true"
>
<column name="volumeId" />
</many-to-one>
</hibernate-mapping>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Hibernate 2 problema con query

Publicado por Henry (1 intervención) el 06/12/2005 17:58:08
Leyendo tu codigo parece que no haz mapeado la clase "Volume", ya que tienes una relacion de con esta, en la clase "Documento"
<many-to-one
class="Volume"
name="volume"
not-null="true" >
<column name="volumeId" />
</many-to-one>

para hacer tu consulta, tambien tendrias que colocar un objeto "Volume".

tambien veo que colocas "d.volumeld", segun tu codigo ese es el nombre de tu campo en la tabla, para hacer consultas tienes que colocar el nombre que le das en el mapeo xml de hibernate: "volume".

tu consulta seria algo asi :

"select distinct dt.id from DocumentType dt, Document d, Volume vl where d.volume=vl.volume and d.volume=1 and dt.id=d.documentType"

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar