Pregunta

Estoy buscando una forma rápida (realmente rápida) de probar los cambios para hibernar consultas. Tengo una gran aplicación con miles de consultas HQL diferentes (en archivos XML) y más de 100 clases asignadas y no quiero volver a implementar toda la aplicación para probar solo un pequeño cambio en una consulta.

¿Cómo sería una buena configuración para liberarme de la redistribución y permitir una verificación rápida de consultas?

¿Fue útil?

Solución

Con Intellij IDEA 8.1.3, el mecanismo de elección se llama 'Faceta'. Para probar instantáneamente las consultas HQL:

  1. crear una fuente de datos Herramientas - > Fuente de datos, Agregar fuente de datos, definir controlador, nombre de usuario y contraseña de su desarrollo db
  2. en caso de que ya no tenga un hibernate.cfg o configure su fábrica de sesiones de una manera diferente que a través de xml: cree un archivo hibernate.cfg que haga referencia a todas las asignaciones XML (defina un nombre para la fábrica de sesiones, solo para un manejo más fácil )
  3. en 'Estructura del proyecto' agregue Faceta a su módulo de elección y asigne la fuente de datos recientemente definida a la nueva faceta
  4. cambiar a Vista Java EE
  5. Facetas de hibernación abiertas - Nodo
  6. Haga clic con el botón derecho en Sesión de fábrica y seleccione "Abrir consola HQL"
  7. ingrese la consulta HQL en la consola ... y ya está.

perdón por esta pregunta RTFM.

Otros consejos

Puede usar herramientas de hibernación en eclipse para ejecutar consultas. Esto te permitirá ejecutar HQL cuando quieras probar algo.

Si está utilizando IntelliJ, hay Hibero .

Hay un editor independiente del sol, pero no lo he probado.

Escribí una herramienta simple para probar & amp; vista previa de HQL, esta es solo una clase de Java con el método principal.

puede encontrar el código aquí: https://github.com/maheskrishnan/HQLRunner

aquí está la captura de pantalla ...

ingrese la descripción de la imagen aquí

Pruebo mis consultas HQL en pruebas unitarias con la base de datos HSQLDB. Simplemente cree un administrador de entidades, envíelo a una sesión de hibernación y consulte.

    final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("tacs-test", props);

    final EntityManager entityManager = entityManagerFactory.createEntityManager();

    return (Session)entityManager.getDelegate();

Mejor Anders

Dijiste la forma más rápida, no estoy seguro de si querías decir la forma más rápida de comenzar, o la forma más rápida de realizar pruebas continuas, con alguna inversión inicial para implementar las pruebas. Esta respuesta es más la última.

La forma en que lo hice antes fue implementar algunas pruebas de integración simples con JUnit y DBUnit .

En esencia, usará DBUnit para configurar su base de datos de prueba con un conjunto de datos conocido y representativo, y luego utilizará JUnit para ejercitar los métodos que contienen sus consultas HQL y verificar los resultados.

Por ejemplo,

Configure su base de datos primero para contener solo un conjunto fijo de datos, por ejemplo,

Product Name, Price
Acme 100 Series Dynamite, $100
Acme 200 Series Dynamite, $120
Acme Rocket, $500

Esto es algo que haría en el método setup () de su caso de prueba JUnit.

Ahora supongamos que tiene un DAO para esta entidad, y hay un " findProductWithPriceGreaterThan (int) " método. En su prueba, haría algo como:

public void testFindProductWithPriceGreaterThanInt() {
    ProductDAO dao = new HibernateProductDAO();
    //... initialize Hibernate, or perhaps do this in setup()

    List products = dao.findProductWithPriceGreaterThan(110);
    assertEquals(2, products.size());
    //... additional assertions to verify the content of the list.
}

En el mercado de eclipse, puede buscar las herramientas de JBoss y elegir solo las herramientas de Hibernate de la lista dada.

En eclipse

  1. Instalar herramientas de Hibernate (Jboss)
  2. Cambiar a hibernar en perspectiva
  3. Abrir / hacer clic en la ventana de configuración de Hibernate
  4. Rt Haga clic en la ventana y Agregar configuración
  5. Rt Haga clic en la ventana haga clic / abra el editor HQL
  6. Escriba y ejecute sus consultas HQL y obtenga su resultado en la ventana de resultados de Hibernate Query

Siga este enlace para obtener más información http://docs.jboss.org/tools/OLD/2.0.0.GA/hibernatetools/en/html/plugins.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top