2013-05-20 72 views
-1

這裏是我的代碼示例:如何用where子句指定hibernate select查詢?佔位符

String hqlquery="select stName,stCode from StGroup where stName=?"; 
PreparedStatement ps=con.prepareStatement(hqlquery); 
ps.setString(1,stname);//here stname am passing through one function 
ps.executeQuery(); 

此代碼給了我所選擇的記錄數。 但我想要的記錄列表(包含stName,stCode)匹配「stName」(在where子句中)。 如何獲得列表。我可以使用ResultSet與休眠。

+2

總之,你在問如何執行HQL查詢。 [文檔解釋它](http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#objectstate-querying-executing)。 –

+0

我的疑問是resultset是否可以用於休眠或不休眠? – user2365917

+0

這些文檔說的是什麼? javadoc說什麼?這非常容易找到。不,ResultSet是一個JDBC API,不能與Hibernate一起使用。但是Hibernate查詢可以返回列表或可滾動結果。 –

回答

0

PreparedStatement.executeQuery()返回一個ResultSet,其中包含與您的WHERE子句匹配的行,每行包含放入SELECT子句中的字段。使用ResultSet的first(),last()next()方法,您可以訪問所有這些信息:結果集位於當前行,您可以通過類似於getString(columnName)getInt(columnName)的方法訪問字段值,具體取決於列的類型。