【发布时间】:2017-05-16 16:13:52
【问题描述】:
Order OrderItem Product
-----------------------------------------------------------------------------
id id,orderId,proudctId,unitPrice,quantity id, barcode
JPA eclipseLink:按 orderId、产品条形码和数量列出订单项目:
select * from OrderItem order by orderId asc,
lpad(product.barcode, 20, '0') desc, quantity asc
Query: ReadAllQuery(referenceClass=OrderItem sql="SELECT * FROM (SELECT a.*,
ROWNUM rnum FROM (SELECT DISTINCT t1.ID AS a1, t1.QUANTITY AS a2,
t1.UNITPRICE AS a3, t1.orderId AS a4, t1.productId AS a5, lpad(t0.barcode, ?, ?)
FROM Product t0, OrderItem t1 WHERE (t0.ID = t1.productId) ORDER BY t1.orderId
ASC, lpad(t0.barcode, ?, ?) DESC, t1.QUANTITY ASC) a WHERE ROWNUM <= ?) WHERE
rnum > ?")
错误 ORA-01791:不是 SELECTed 表达式
如果在oracle sqlPlus 中执行SQL,没有错误。如果只是通过 product.barcode 而不是 lpad(...) 订购,它可以工作。
【问题讨论】:
标签: oracle jpa eclipselink