2009-02-12 20 views
14

Hace unos días publiqué question sobre la consulta de colecciones con la API de Criteria y después de todas las respuestas veo que lo que estoy intentando no es posible con los Criterios, hay un error para la situación en nhibernate y también en Hibernate¿Hay alguna manera fácil de convertir Criteria a HQL?

Estaba usando DetachedCriteria para obtener todos los criterios juntos y la lista es realmente larga. El último círculo de la cadena tiene criterios erróneos, así que necesito cambiar todos mis criterios separados a HQL.

Así que mi pregunta es si hay alguna herramienta o forma de convertir Criteria a HQL.

o

¿Hay alguna manera de obtener criterios y HQL trabajar juntos?

An Article about the bug in nhibernate

Gracias por adelantado es

Respuesta

3

he enviado un correo electrónico a Ayende Rahien sobre el tema y gracias a él por replying.He dijo que

la respuesta es que no hay tal herramienta, pero la conversión suele ser bastante fácil.

+3

Excelente respuesta. Un ejemplo sería bueno ... – mark

-1

¿Qué versión de NHibernate está usando? Creo que usar la última versión podría resolver su problema ya que el 2.0 GA tiene muchos cambios importantes.

+0

Estoy usando 2.0.1 GA, es el último supongo –

3

El traspaso de los foros de hibernación ... no estoy seguro si es relevante para nhibernate o actualizada


de: máximo de hibernación del equipo

Publicado: Sun 24 de diciembre de 2006 7:12 a.m.

es un folclor muy obstinado que cr iteria se traduce a HQL. Criteria va directamente a SQL, pero no hay una API pública directa para obtenerlo programáticamente.

...

traduciendo dos veces no es muy eficiente;)

http://forum.hibernate.org/viewtopic.php?t=968990&view=next&sid=50454aa6cec8d482198117fbd398ca70

0

He modificado la API de Hibernate Criteria para generar consultas JPQL tratando de preservar la interfaz en su mayoría similar. Nombre de mi proyecto es Criteria2JPQL en:

https://sourceforge.net/projects/criteria2jpql/

Desde esta traducción es una simple operación en memoria que genera una consulta JPQL estándar, no hay un problema de rendimiento considerable. Por otro lado, la idea de este proyecto se originó a partir de las consultas de sql nativas deficientes de Hibernate Critera, incluidas muchas combinaciones innecesarias. Hemos experimentado el uso de Criteria2JPQL en nuestro proyecto en mi empresa y observamos que esas uniones innecesarias desaparecieron.

Cuestiones relacionadas