我有以下两个类:
@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
中加载Benefit
EAGER不是一个选项,因为它会降低系统速度。
因此offerings
通常不会加载benefit
,我必须单独检索它们。
我知道我可以通过其ID
来执行此类操作来检索实体Benefit benefit = entityManager.find(Benefit.class, benefitId);
有没有办法使用Offerings
检索属于给定Benefit
的所有entityManager
?