У меня есть два следующих класса:
@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
?