關於在SSH框架整合時,使用hql語句查詢出現 XXX is not mapped 的問題

在做SSH框架的整合過程中,新手往往會遇到這個問題。當我們使用hql語句查詢時,控制檯報錯: XXX is not mapped。而此時,很多覺得英語不錯的同學就會被自己搞暈。然後開始檢查實體類的映射文件*.hbm.xml是否正確,是否將映射文件添加到spring的配置文件中,等等。然後高亮一通,仍不見效。

我們開始正題。大家都知道,Hibernate是一個讓我們完全面向對象編程的框架。也就是說,我們對數據庫數據進行操作的時候,實際是通過實體類。在Hibernate中的查詢方式有3種:

(1)通過get或load方法直接以對象的形式查詢數據。這種用法一般用於查詢所有屬性。

(2)通過使用hql語句查詢。此時我們需要通過使用類似getSession().createQuery(hql)的語句進行數據查詢。

(3)通過使用sql語句查詢。該方法和使用hql類似,即getSession().createSQLQuery(hql)語句。

由於我們查詢時,使用的是hql。所以,我 們hql語句中的from後面應該緊跟對象名,而不是數據表名。另外還有一點,就是注意大小寫。如果使用別名,可以使用別名.實體類屬性名的方式查詢符合條件的某個值,不使用別名,查詢列也爲屬性名。這樣就不會出現以上的錯誤了。

發佈了41 篇原創文章 · 獲贊 14 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章