2012-04-24 46 views
1

我在尋找一個簡單的方法來測試Hibernate的HQL標準查詢。我試過使用IntelliJ的Hibernate控制檯支持,但我的run into problems測試Hibernate查詢

有一個獨立的工具,它提供了一個簡單的方法來測試HQL查詢?創建會話工廠並執行作爲參數傳遞的查詢的簡單控制檯程序就足夠了。

回答

0

您可以使用內存中的H2(JDBC內存)數據庫和jetty來創建容器和上下文,以便在構建的單元測試階段(或來自JUnit)執行hibernate查詢。

0

你可以嘗試JUnit計算策略。

0

使用控制檯將是我的首選只是玩HQL(如Hibernate Tools爲Eclipse)。但是,如果這不起作用,我只會使用JUnit。我的團隊使用該策略來測試我們在生產代碼中使用的HQL查詢,並偶爾幫助編寫查詢。

測試設置包括設置的內存數據庫(我們使用HSQLDB,但還有其他人)。用Hibernate或原始SQL插入數據。然後配置一個Hibernate SessionFactory來連接它,然後運行你的HQL。

我們也使用它來測試其他類型的Hibernate設置或行爲,並且在我們的目的上有一個完整的Hibernate測試套件的副作用,這樣我們可以升級並確信我們需要的東西在意外的方式。

0

我懷疑是否有可能將這樣一個工具作爲一個單獨的應用程序,您需要指定一個hibernate配置(可能在Spring上下文中),並且它應該能夠找到這些類和它們的HBM文件。此外,您可能會使用不同的用戶類型或類似於其他JAR的類型,所以我甚至不會搜索它。

對我來說,最好的工具是一個單元測試框架+ IDE中的調試工具 - 你可以只停留在某一點,你必須創建一個會話,做任何你在這種模式下需要。例如在IntelliJ中,除了通常的表達式之外,您可以在調試過程中放置​​代碼片段,這可能會幫助您使用Criteria API。

0

上次我不得不做這種工作我用DbUnit來測試我的數據訪問層,其中我使用了JPA 2.0和Hibernate