如何解决是否可以在锡耶纳按计算字段排序?
| 我正在尝试根据在Play中计算出的文件,按顺序返回查询。 这是我正在使用的查询。return all().order(\"points\").fetch();
点定义为
public Integer points;
并感谢这个吸气剂
public int getPoints(){
List<EventVote> VotesP = Votes.filter(\"isPositive\",true).fetch();
List<EventVote> VotesN = Votes.filter(\"isPositive\",false).fetch();
this.points= VotesP.size()-VotesN.size();
return this.points;
}
我做时正确地调用吸气剂
int Votes=objectWithPoints.points;
我觉得自己在塞纳游戏中冒充了太多,但是我希望它可以正常工作(或类似的代码)。当前,它只是跳过订单条件。在其他任何字段上的订购都可以正常工作。
解决方法
当您说您等待得太多时,我认为您是对的:)
Siena查询“ 4”向数据库执行请求。
因此它将排序存储在数据库中的值而不是存储在您的程序中。
从您所说的来看,我看到您有一个用于计算值的getter getPoints。
但是,如果您不将此值存储到数据库中,则Siena无法执行排序。
因此,要么计算值,然后将其设置在对象中,然后将对象保存到数据库中即可。
objectWithPoints.points = getPoints();
objectWithPoints.save();
在计算值之后,您可以在程序中自己对值进行排序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。