Java “中的方程式”;“订购”;使用jpql或标准api

Java “中的方程式”;“订购”;使用jpql或标准api,java,jpql,criteria-api,Java,Jpql,Criteria Api,假设mySweetTable有两列X和Z 我如何使用jpql或标准API 选择*,(3*X+Z)作为订单条件 从mySweetTable 你喜欢“as%”还是V喜欢“as%” 按订单条件描述的订单 这个答案能解决您的问题吗?将等式映射到MySweetTable实体上的属性,然后按该属性排序 根据JPA 2规范,由标量表达式生成的结果变量可以按顺序使用: orderby_项目必须是以下项目之一: … 一个result_变量,它引用SELECT子句中的一个可订购项目,该项目的 已指定相同的结果变量。

假设mySweetTable有两列X和Z

我如何使用
jpql
或标准
API

选择*,(3*X+Z)作为订单条件
从mySweetTable
你喜欢“as%”还是V喜欢“as%”
按订单条件描述的订单

这个答案能解决您的问题吗?将等式映射到MySweetTable实体上的属性,然后按该属性排序


根据JPA 2规范,由标量表达式生成的结果变量可以按顺序使用:

orderby_项目必须是以下项目之一:

一个result_变量,它引用SELECT子句中的一个可订购项目,该项目的 已指定相同的结果变量。这可能是SELECT子句中的>>聚合\表达式、标量\表达式或状态\字段\路径\表达式的结果。

选择o.数量,o.成本*1.08作为纳税成本,a.zipcode
从客户c加入c.订单o加入c.地址a
其中a.state='CA'和a.county='Santa Clara'
按o.数量、课税成本、a.zipcode订购

因此,在给定情况下,以下各项应起作用:

SELECT mye, (3 * mye.x + mye.y) AS ord
FROM MyEntity mye
WHERE mye.u LIKE 'as%' or mye.v LIKE 'as%'
ORDER BY ord DESC

我不认为这是那么简单。我要试一试。非常感谢。