0
說我有以下實體JPA的孩子集合中最後一個元素的屬性排序查詢
class Order {
@Id
private long id;
private long orderNo;
@OneToMany
@JoinColumn(name="order_id")
@OrderBy("timeStamp ASC")
private List<Item> items;
}
class Item {
@Id
private long id;
// e.g. COMPLETED, IN PROGRESS, QUEUED, etc...
private String status;
private long timeStamp;
@ManyToOne
private Order order;
}
使用JPA我要回由狀態從最後一個項目中的項目進行排序的訂單列表列表,這是最近的一個,因爲items是按時間順序排列的。如何才能做到這一點?
我強烈懷疑這不能在JPQL查詢來完成。如果我是你,我會在Order實體中存儲最近的項目時間戳,並按此排序(記住保持更新),或者實現自定義的「Comparator」並使用'Collections.sort'(在Java中進行排序代碼,不在JQPL查詢中)。 –
Nick
2013-03-22 20:56:30