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

Como mapear una vista con hibernate

Estas en el tema de Como mapear una vista con hibernate en el foro de Java en Foros del Web. Tengo una vista pero sin id y lo mapeo asi: <hibernate-mapping package="models"> <class name="models.Cuentar" table="CUENTA" mutable="false"> <property column="TIPO" name="tipo" type="java.lang.String"/> <property column="E" name="e" type="java.lang.String"/> </class> ...
  #1 (permalink)  
Antiguo 30/08/2013, 02:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Como mapear una vista con hibernate

Tengo una vista pero sin id y lo mapeo asi:

<hibernate-mapping package="models">

<class name="models.Cuentar" table="CUENTA" mutable="false">

<property column="TIPO" name="tipo" type="java.lang.String"/>
<property column="E" name="e" type="java.lang.String"/>

</class>
</hibernate-mapping>

Pero me da error:

SEVERE: Error parsing XML: XML InputStream(19) El contenido del tipo de elemento "class" debe coincidir con "(meta*,subselect?,cache?,synchronize*,comment?,tu plizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|ar ray|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)".
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource models/CuentaValidador.hbm.xml
Exception in thread "main" java.lang.ExceptionInInitializerError

Es posible porque el mapeo en hiebrnate siempre necesite una clave primaria? como puedo solventar esto si no puedo modificar la select de la vista

Saludos
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz
  #2 (permalink)  
Antiguo 03/09/2013, 08:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como mapear una vista con hibernate

¿De dónde sacas que el error es que necesita una clave primaria?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 03/09/2013, 08:30
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Como mapear una vista con hibernate

Buenas leyendo en post lei que necesitaba una clave primaria :)
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz
  #4 (permalink)  
Antiguo 03/09/2013, 08:44
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como mapear una vista con hibernate

Hola:

El error es al parsear el XML. Puede que sea porque hace falta una clave primaria (el trozo ,(id|composite-id) no lleva detrás ni ? ni *, por lo que parece que es obligatorio uno de ellos). Para asegurarse que ese es el error de sintaxis, prueba a poner un id en el fichero de mapeo aunque no exista a ver si al menos lo parsea.

Parece que Hibernate necesita un id. Pon como id alguna de las columnas existentes que no pueda repetir valores. Si no tienes, puedes poner como id un id compuesto por todas las columnas (suponiendo que no exista la posibilidad de dos filas con todas las columnas iguales).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 03/09/2013, 08:47
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Como mapear una vista con hibernate

Cita:
El contenido del tipo de elemento "class" debe coincidir con "(meta*,subselect?,cache?,synchronize*,comment ?,tu plizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|ar ray|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)".
Es un error de validación del xml, sí o sí tienes que indicarle en el xml un campo(s) que ejerza como clave principal.

Edit: Te adelantaste, chuidiang :D
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 03/09/2013, 08:58
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: Como mapear una vista con hibernate

Bueno probe poniendo un id como calve primaria y tb componiendo una clave co nestos 2 campos
<property column="TIPO" name="tipo" type="java.lang.String"/>
<property column="E" name="e" type="java.lang.String"/>

Pero al final no pude y tuve que improvisar sin poder mapear la vista
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz

Etiquetas: hibernate, vista
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 16:27.