JPA EntityManager найти по родительскому идентификатору - PullRequest
0 голосов
/ 08 июня 2018

У меня есть два следующих класса:

@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?

...