JPA Annotations - Как получить все объекты с определенным значением столбца - PullRequest
0 голосов
/ 17 октября 2018

Допустим, у меня есть объект сущности Customer с отношением OneToMany к Order.Я хочу, чтобы при загрузке «Клиента» загружались только его заказы с Id = 1234, 5678.

Есть идеи?

@Entity
@Table(name = "Customer")
public class Customer extends TraceableJPA {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "customer_id")
        private Long id;

        @OneToMany(cascade = CascadeType.ALL, mappedBy = "Customer", targetEntity = Order.class)
        @Column(name = "order_id", value = {"1234","5678"} (?))
        @OrderBy("isrtdate ASC")
        @BatchSize(size = 20)
        private List<Order> orders = new ArrayList<Order>();

1 Ответ

0 голосов
/ 17 октября 2018

Hibernate

Если вы используете Hibernate Session и его возможности, вы всегда можете использовать механизм @ FilterJoinTable .

Проверьте статью THIS , чтобы узнать большеинформация.

Тем не менее, он не является глобальным, вы должны предварительно определить этот фильтр и затем явно настроить объект Session для его использования.

JPA

JPA в своем стандарте НЕТ ТАКОГОФУНКЦИОНАЛЬНОСТЬ, для фильтрации глобальных отношений.

Вы всегда можете отфильтровать его в своих запросах:)

...