2017-03-03 94 views
0

只是像MyBatis * mapper.xml做: select * from table where 1=1 <if test="id != null" > and id = #{id,jdbcType=VARCHAR}如何在hibernate中使用動態SQL?

我也試過freemarker的語法只是想:select * from table where 1=1 <#if id != null > and id = ${id}`

我不能使用網絡服務器開始前這個語法,因爲沒有ID。 另一種我不在web服務器啓動時緩存任何SQL的方法。在memont我重新解析所有的XML使用freemarker語法,然後我緩存他們所有。但效率不高。

+0

請澄清這個問題,我不明白你的問題是什麼,你的問題是什麼? –

回答

0

當我被告知從MyBatis遷移到Hibernate時,我也遇到了動態SQL的這種情況,並最終使用了Hibernate提供的Criteria機制。在我保存的帖子中,我記得我遵循了這個解釋了Criteria的使用和對文檔的引用的解釋。 Check this post!

我認爲這將解決您的問題,如果你不使用Hibernate的XML配置。

+0

感謝兄〜我會稍後再試:) – Volley

+0

太好了。保持我們的發佈。標準真的很強大。乾杯 – Gui

相關問題