JPA EntityManager поиск по родительскому идентификатору

У меня два класса:

@Entity
public abstract class Benefit extends WorkflowEntity {

    @Id
    @Column(name = "benefit_id")
    @GeneratedValue(generator = "benefit_sequence", strategy = SEQUENCE)
    private Long id;

    ...

    @OneToMany(fetch = LAZY, cascade = {CascadeType.ALL}, orphanRemoval = true)
    @JoinColumn(name = "benefit_id", nullable = false)
    @AuditJoinTable(name = "aud_benefit_benefit_offering")
    private Set<BenefitOffering> offerings = emptySet();

а также

@Entity

public class BenefitOffering {

    @Id
    @GeneratedValue(generator = "benefit_offering_sequence", strategy = SEQUENCE)
    @Column(name = "benefit_offering_id")
    private Long id;

    ... (there is no reference back to the Benefit in this class)

Загрузка offerings EAGER в Benefit невозможна, так как это замедлит работу системы.

Так что обычно offerings не загружаются для benefit, и мне приходится извлекать их отдельно.

Я знаю, что могу сделать что-то подобное, чтобы получить объект по его идентификатору.

Benefit benefit = entityManager.find(Benefit.class, benefitId);

Есть ли способ получить все Offerings, принадлежащие данному Benefit, с помощью entityManager?

Вы можете использовать запрос. Вы знаете, как ими пользоваться?

Simon Martinelli 08.06.2018 16:33

Я копаюсь сейчас - похоже, вы правы, запросы - это путь вперед!

Nestor Milyaev 08.06.2018 16:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
272
0

Другие вопросы по теме