2013-07-22 16 views
1

有什麼辦法可以將hibernate查詢結果投射到Object而不是列表數組中。將hibernate的查詢結果轉換爲類型類的對象而不是列表數組

Query q1 = session.createQuery("from userTable where id ='1234'"); 

List userList = q1.list(); >> cast to object of UserBean class type ?? 

UserBean user = (UserBean)userList.get(0); 

System.out.println(user.getName); 
System.out.println(user.getAge); 
..... 
System.out.println(user.getPhone); 

UserBean類被映射與一個表名用戶表,我希望得到的一個id這是表中的主鍵列值。

請在第2行看到List userList = q1.list() ??無論如何,我們可以將類型轉換爲類型的對象。

+1

嘗試'的UserBean用戶=(的UserBean)q1.uniqueResult();' – Reimeus

+0

@Reimeus非常感謝。有用。請將此評論置於回答中,以便我能夠接受您的回答。 – user1010399

回答

1

嘗試此

UserBean user = (UserBean) q1.uniqueResult(); 
2

你爲什麼不用這個?

UserBean user = (UserBean) q1.getSingleResult(); 
+0

但我得到一個編譯器錯誤,'方法getSingleResult()未定義類型查詢,任何建議? – user1010399

+0

你好priyank,請你澄清一下更多的方法? – user1010399

+0

@ user1010399:它是查詢接口的一種方法。有關更多信息,請參閱http://docs.oracle.com/javaee/5/api/javax/persistence/Query.html#getSingleResult%28%29。你不應該得到編譯錯誤。 –

相關問題