2012-05-16 17 views
5

Có ai có bất kỳ ý tưởng làm thế nào để lấy thực thể cuối cùng (với ngày mới nhất) trong objectify? Tôi biết làm thế nào để thực hiện một truy vấn nhưng làm thế nào để lấy một với ngày mới nhất?Làm thế nào để có được thực thể với ngày mới nhất

List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list(); 

Tôi có thể cố gắng phân loại nó nhưng tôi chắc chắn có cách dễ dàng hơn. THX

+0

điều gì đó như thêm .get (0)? – Daniel

Trả lời

7

Bạn chỉ cần thêm dấu trừ ở phía trước "ngày" trong đặt hàng của bạn:

List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("-date").list();

Điều đó sẽ trả lại cho bạn một danh sách các giao dịch với các mới nhất trong một vị trí đầu tiên.

+0

cảm ơn bạn đã trả lời, nhưng tôi đã biết điều đó, có lẽ tôi không đủ rõ ràng. Tôi muốn có được thực thể này (lần đầu tiên hoặc cuối cùng tùy thuộc vào phân loại) ra khỏi danh sách. –

+0

Tôi sẽ nói, như bạn đang ở trong một danh sách, một fetched2.get đơn giản (0), hoặc fetched2.get (fetched2.size() -1) sẽ hoạt động ... vì danh sách đã được sắp xếp, điều này sẽ trả về Giao dịch mới nhất và lâu đời nhất. – CMDej

+0

cũng là danh sách của các đối tượng như vậy không may nó sẽ không làm việc –

0

Tôi không biết về trường hợp sử dụng của bạn, nhưng nếu bạn đang cố gắng để có được "mới" thực thể (những người được thêm/cập nhật sau truy vấn cuối cùng) bạn có thể muốn sử dụng con trỏ. Chúng hiệu quả hơn nhiều khi chúng chỉ nhận được các thực thể mới/được cập nhật: https://developers.google.com/appengine/docs/java/datastore/queries#Query_Cursors

0

nếu bạn muốn thực hiện sắp xếp để phản đối bạn nên đặt hàng theo phương thức. Ví dụ: nếu bạn có bảng Mẫu và bạn muốn áp dụng sắp xếp trên đó

Sắp xếp tăng dần Mẫu mẫu = ofy.query (Mẫu .class) .filter ("propertyname", "propertyvalue) .order (" + date ") .list() đầu tiên();.

được kỷ lục đầu tiên trong

Giảm dần sắp xếp mẫu Sample = ofy.query (Sample .class) .filter (" PROPERTYNAME "" propertyvalue). đơn đặt hàng ("+ ngày")

Các vấn đề liên quan