0

我是 Java Persistence 等的新手,我定义了一对多关系并且它有效,但我无法在许多实体中定义 where 子句。例如,我的搜索返回一个订单列表和每个订单的订单项目集合。但是,我如何在 LineItem 实体类中应用 where 子句,例如原生 SQL 看起来像这样(大致)

SELECT Orders.OrderNumber, LineItems.Quantity, LineItems.Description
FROM Orders, LineItems WHERE Orders.OrderID = LineItems.OrderID
AND LineItems.Description IN ('XXX1', 'XXXXX2','XXXX3')`
AND LineItems.Quantity = 5

我不知道如何定义:

AND LineItems.Description IN ('XXX1', 'XXXXX2','XXXX3')
AND LineItems.Quantity = 5

在 LineItems 类中。请帮忙。

4

1 回答 1

0

这更像是一种解决方法,而不是您的问题的答案,但它可能是唯一的方法:创建一个NamedQuery以您想要的方式限制结果并改用 NamedQuery。 这是有关如何执行此操作的教程。

这个问题的答案意味着我的建议是完成你需要的唯一方法。这些答案是特定于 Hibernate 的。

于 2013-08-27T18:18:30.163 回答