Frage

Ich bin auf der Suche nach einer schnellen (sehr schnell) Art und Weise Änderungen zu testen Abfragen zu überwintern. Ich habe eine große Anwendung mit Tausenden von verschiedenen HQL-Abfragen (in XML-Dateien) und mehr als 100 abgebildet Klassen, und ich möchte nicht die gesamte Anwendung erneut bereitstellen, um nur auf eine Abfrage eine winzige Änderung zu testen.

Wie würde ein gutes Setup mich aussehen wie von Umschichtungen zu befreien und eine schnelle Abfrage-Check aktivieren?

War es hilfreich?

Lösung

Mit IntelliJ IDEA 8.1.3 mechnism der Wahl ist 'Facet' genannt. Um sofort HQL-Abfragen zu testen:

  1. Erstellen Sie eine Datenquelle Werkzeuge -> Datenquelle, Datenquelle hinzufügen, definieren Treiber, Benutzername und Passwort von Yor Entwicklung db
  2. falls nicht, haben Sie bereits ein hibernate.cfg oder konfigurieren Sie Ihre Sitzung Fabrik auf eine andere Weise als über xml: Erstellen Sie eine hibernate.cfg Datei Referenzierung alle XML-Mapping des (einen Namen für die Sitzung Fabrik definieren, nur für eine einfachere Handhabung )
  3. in ‚Projektstruktur‘ hinzufügen Facet zu Ihrem Modul der Wahl und weisen Sie die vor kurzem definierten Datenquelle auf die neue Facette
  4. Umstellung auf Java EE Ansicht
  5. Öffnen Hibernate Facets - Knoten
  6. Right Session Fabrik klicken und "Open HQL Console"
  7. wählen
  8. Geben Sie HQL-Abfrage in der Konsole ... und your're getan.

Entschuldigung für diese RTFM Frage.

Andere Tipps

Sie können mit Hibernate Tools in Eclipse Abfragen ausführen. Dies ermöglicht es Ihnen HQL laufen, wenn Sie etwas ausprobieren möchten.

Wenn Sie IntelliJ verwenden, gibt es Hibero .

Es gibt ein Standalone-Editor von Sonne, aber ich habe es nicht versucht.

Ich schrieb ein einfaches Werkzeug zum Testen und Vorschau HQL, dies ist nur eine Java-Klasse mit Hauptmethode.

können Sie den Code finden Sie hier: https://github.com/maheskrishnan/HQLRunner

Hier ist der Screenshot ...

eingeben Bild Beschreibung hier

ich meine HQL-Abfragen in unit-Tests mit der HSQLDB Datenbank testen. Nur ein Unternehmen Manager erstellen, muss er in einer Hibernate-Session und Abfrage entfernt.

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

    final EntityManager entityManager = entityManagerFactory.createEntityManager();

    return (Session)entityManager.getDelegate();

Best Anders

Sie haben gesagt, den schnellsten Weg, ich bin nicht sicher, ob Sie auf den schnellsten Weg bedeuteten in Gang zu bringen, oder den schnellsten Weg laufende Tests durchzuführen, mit einiger Erstinvestition implementiert, um die Tests zu bekommen. Diese Antwort ist die letztere.

So wie ich dies getan haben, bevor einige einfache Integrationstests mit JUnit zu implementieren war und DBUnit .

Im Wesentlichen werden Sie DBUnit verwenden Ihre Testdatenbank mit einem bekannten und repräsentativen Satz von Daten einzurichten, und dann schlicht JUnit die Methoden mit Ihren HQL-Abfragen zu trainieren, und überprüfen Sie die Ergebnisse.

Zum Beispiel

Richten Sie Ihre Datenbank zunächst nur eine feste Menge von Daten z enthalten.

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

Dies ist etwas, das Sie in Ihrem JUnit-Testfall-Einstellungen durch () -Methode tun würden.

Nun nehmen wir an, Sie DAO für diese Entität haben, und es gibt eine „findProductWithPriceGreaterThan (int)“ -Methode. In Ihrem Test, würden tun Sie so etwas wie:

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.
}

In dem Eclipse-Markt können Sie für JBoss-Tools suchen und wählen nur Hibernate Tools aus der gegebenen Liste.

In Eclipse

  1. Installieren Hibernate Tools (Jboss)
  2. Wechseln in den Ruhezustand perpective
  3. Öffnen / Klicken Hibernate Konfigurationsfenster
  4. Rt Klicken Sie auf das Fenster und Konfiguration hinzufügen
  5. Rt Klicken Sie auf das Fenster klicken / open HQL-Editor
  6. Typ und Ihre HQL-Abfragen ausführen und Ihr Ergebnis in den Hibernate-Abfrage Ergebnisfenster erhalten

Folgen Sie diesem Link für weitere Informationen http://docs.jboss.org/tools/OLD/2.0.0.GA/hibernatetools/en/html/plugins.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top