假设我有一个Customer-CustomerOrder一对多双向关系,其中CustomerOrder持有每个订单的总价值。

如果我有一个查询来查找特定客户的所有订单的总价值:

select SUM(o.orderValue) from CustomerOrder o where o.customer = :customer

在哪个实体类中进行注释是否重要?你为什么要把它放在一个或另一个?

最佳答案

在哪个实体类中进行注释是否重要?

从技术角度来看,这无关紧要,因为您将使用name@NamedQuery来调用它。

你为什么要把它放在一个或另一个?

但是,从“逻辑”的角度来看,将@NamedQuery放在“自然”的位置绝对可以简化维护。在您的示例中,我将查询放入CustomerOrder实体中,因为查询是有关查找CustomerOrder,这正是我必须寻找的地方。

09-26 17:57