0

我有一个实体AuditLog ,它与AuditParameter保持一对多关系:

@Entity
public class AuditLog implements IAuditLog, Serializable {    
    // ...

    @OneToMany(targetEntity = AuditParameter.class, mappedBy = "auditLog")
    private List<IAuditParameter> parameters;
}

原因的AuditParameter具有@ManyToOne(targetEntity = AuditLog.class) private IAuditLog auditLog.

我想获取所有已获取关系列表的AuditLog记录。我尝试了以下方法:

    Session session = ((EntityManagerImpl)em.getDelegate()).getSession();
    Criteria audits = session.createCriteria(AuditLog.class)
            .setFetchMode("parameters", FetchMode.JOIN);

但实际上这会生成一个LEFT OUTER JOIN. 有人可以向我解释为什么这会生成外连接以及如何将AuditParameters急切地加载到参数集合中吗?

4

0 回答 0