2010-09-27 23 views
0

如何從某個表中獲取最近添加的行,該行滿足一定的條件。如何從某個表中獲取最近添加的行

如果使用javax/persistence/Query.html#getSingleResult(),如果有多個滿足查詢的行,則會得到NonUniqueResultException。我需要從列表中找到相同的findOne。我不想通過將rowsPerPage設置爲1來分頁,然後獲取resultSet。

回答

2

您表示自己不希望使用「rowsPerPage」,但這是做一個正確的方法:

query.setMaxResults(1) 

然而,這並不能保證該行是最近的,除非您查詢包含日期的條件。如果你沒有這樣的列,並且你沒有使用自動增量(這應該是最後的手段),你無法實現你的目標。

0

jpa和hibernate要求每行必須有唯一的id。所以選擇id = max(id)的行。這在大多數情況下都是可用的,在這種情況下id的生成是增量式例如,不知道如何獲取它,如果id是一個字符串。

+0

這是依賴於id的生成策略,我有點猶豫使用這種技術 – Sam 2010-09-28 03:14:02

相關問題