簡體   English   中英

使用Hibernate從數據庫訪問值時獲取異常

[英]Getting exception while accessing values from data base using hibernate

我有兩個表website_availability和status_codes。它們之間具有前鍵關系。status_codes是父表。我正在使用hibernate。加入后,我需要從這些表中“列出”值。我正在遵循此代碼。

List<WebsiteAvailability>list=new ArrayList<WebsiteAvailability>
String selquery="select w.statusCode,w.updateTime,w.statusCodes.statusCodeValue from  WebsiteAvailability w,StatusCodes s where w.statusCodes.statusCode=s.statusCode and w.url=?";
//here hibernate generates the POJO classes and these are having foriegn key relation so     WebsiteAvailability is having private StatusCodes statusCodes.So I am accessing statuscodevalue of statuscodes table using w.statusCodes.statusCodeValue.
PreparedStatement ps=con.prepareStatement(selquery);
ps.setString(1,selUrl);
rs=ps.executeQuery();
while(rs.next())
{
list.add(new     WebsiteAvailability(rs.getString("statusCode"),rs.getTimestamp("updateTime"),rs.getString("statusCodeValue")));
}
return list;

}

首先我可以將結果集與hibernate一起使用嗎?是否有其他選擇。因為我正在使用? 占位符我應該對setString()使用preparestatement。和executeQuery()獲取列表。我需要如何獲取值列表。正在獲取空列表。錯誤是什么?

org.hibernate.QueryException:無法解析----- WebsiteAvailability ---的屬性statusCode

在休眠映射文件中,我檢查了是否區分大小寫。仍然無法解決屬性異常

您正在嘗試使用JDBC語句以SQL查詢的形式在Hibernate實體上執行HQL查詢。 那沒有道理。 HQL查詢由休眠會話執行。 不是通過JDBC。 如果您使用的是Hibernate,則不再需要JDBC(除非在某些極端情況下,當您需要原始JDBC性能(例如批處理)時)。

閱讀有關HQL查詢執行的文檔。 您還必須修復查詢,因為它看起來不正確。 它包含w.statusCodew.statusCodes 它還使用相等性語句進行聯接並從兩個實體中進行選擇,而不是簡單地使用隱式或顯式聯接。 文檔中也對這些內容進行了說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM