0
我的目標是根據作爲字符串提供的某個屬性來計算實體的絕對排名。我正在使用的基本方法是發出查詢,按降序對結果進行排序並計算所有比我的特定實體的屬性值更大的結果。查詢看起來是這樣的計算物化實體的排名
int rank = o.query(Entity.class).order(String.format("-%s",attribute)).
.filter(String.format("%s >", attribute), something).count();
但是,東西是我卡住的部分。就我理解客體化的概念而言,查詢具體的實體成員是不可能的。我的下一步要麼是使用一個(在開發時間上很醜但很快)if-construct來標識特定的實體成員,或者開始使用反射(不太難看,但在開發時間方面較慢)。
無論哪種方式,我留下了一種感覺,我錯過了一些明顯的和/或優雅的方式來完成這項任務。有什麼建議麼?謝謝。
對不起,我的描述可能有點誤導。我的目標是計算給定實體的絕對排名,以允許像這樣的語句:「根據屬性'a',我的實體在這裏是第n個」。我的解決方案是使用反射來確定要篩選的屬性值,然後使用上面的查詢。爲了提高性能,我按照你的建議去運行一個只有鍵的查詢,然後手動計算鍵。像魅力一樣工作,thx :)。 – fxx 2012-08-13 09:04:47