Имеет ли значение, в каком классе сущностей это аннотировано?
С технической точки зрения это не имеет значения, так как вы будете использовать name
из @NamedQuery
для его вызова.
Зачем вы кладете это в один или другой?
Но, с "логической" точки зрения, размещение @NamedQuery
там, где "естественно" принадлежит, определенно облегчит обслуживание. В вашем примере я бы поместил запрос в сущность CustomerOrder
, потому что запрос - это о поиске CustomerOrder
, это именно то место, где я ожидал бы найти его, если бы мне пришлось его искать.