Если вы не хотите, чтобы отношение @OneToMany
неявно устанавливалось в вашем классе Customer
, то вам это не нужно.Вы можете выполнять JPQL-запросы (очень точно) без отмеченной связи.
Предположим, у вас есть:
@Entity
public class Customer {
// all Customer-related fields WITHOUT @OneToMany relationship with Order
}
@Entity
public class Order {
@ManyToOne
private Customer owner;
}
Тогда, если вы хотите получить все Orders
для конкретного Customer
Вы можете выполнить простой JPQL-запрос, подобный следующему:
// Customer customer = ...
// EntityManager em = ...
String jpql = "SELECT o FROM Order o WHERE o.owner = :customer";
TypedQuery<Order> query = em.createQuery(jpql, Order.class);
query.setParameter("customer", customer);
List<Order> orders = query.getResultList();
Таким образом, вы можете выполнить код только тогда, когда действительно уверены, что хотите получить Customer's
ордеров.
Iнадеюсь, я правильно понял вашу проблему.