我有一個查詢不會產生任何結果,即使肯定有與查詢相對應的底層數據庫中的數據。查詢由hibernate運行,我想通過在mysql中直接運行查詢來驗證它。有人可以幫助我從休眠轉換到SQL,以便我可以看到查詢是否產生任何結果?模擬mysql中的休眠查詢
這裏是Hibernate查詢的Eclipse控制檯說的是正在運行:
select
drugword0_.name as name1_12_2_,
concepts1_.word as word1_12_4_,
drugconcep2_.rxcui as rxcui2_13_4_,
drugconcep2_.rxcui as rxcui1_10_0_,
atoms3_.rxcui as rxcui3_10_5_,
atoms3_.rxaui as rxaui1_39_5_,
atoms3_.rxaui as rxaui1_39_1_,
atoms3_.rxcui as rxcui3_39_1_,
atoms3_.str as str2_39_1_
from drugwords drugword0_
left outer join drugwordsconsoJunction concepts1_ on drugword0_.name=concepts1_.word
left outer join drugconcepts drugconcep2_ on concepts1_.rxcui=drugconcep2_.rxcui
left outer join rxnconso atoms3_ on drugconcep2_.rxcui=atoms3_.rxcui where drugword0_.name=?
如何轉換是Hibernate查詢到的MySQL數據庫的SQL查詢工作的語法?爲什麼你認爲我的hibernate查詢沒有返回任何結果? hibernate映射是否設置不正確?
爲了幫助人們理解什麼是hibernate,我從spring mvc hibernate應用程序中發佈了一些代碼。 注意:爲了保持這篇文章簡潔,我已經上傳了一些相關的代碼到文件共享網站。您可以通過單擊以下鏈接查看代碼:
DrugWord
實體的代碼是at this link。
DrugConcept
實體的代碼是at this link。
DrugAtom
實體的代碼是at this link。
在MySQL中創建底層數據表的代碼是at this link。
填充底層數據表的代碼is at this link。
其中一個表is at this link的數據。
另一張表is at this link的數據。 (這是一個很大的文件,可能需要一些時間才能加載。)
爲了幫助人們可視化底層數據,我將包含查詢的前2個結果的打印屏幕,其中顯示瞭如下基礎表中的數據:
可能的[Hibernate show real SQL]重複(http://stackoverflow.com/questions/2536829/hibernate-show-real-sql) –