使用場景:
當特別明確知道查詢出來的數據只有一條的時候,就用Query類中的uniqueQuery()而不再用list()
使用此方法的原因:
因爲使用query.list()方法的時候,要將整張表都遍歷一遍,但是如果使用uniqueQuery()的話, 當查詢出一條數據的時候就不再向下查詢,而是直接返回一個查詢的表所對應的類的一個對象。當表中有成千上萬條數據的時候,效率會比其他方法高很多
例如 查詢出學號sid爲001的學生(因爲每個學生的sid唯一,所以有且僅有一條數據。這種情況下就可以使用uniqueQuery()):
Student student = (Student) seession.createQuery("from Student where sid='001'").uniqueQuery();
使用此方法時,如果查詢不到相應結果的話就返回null。