我的实体是:
@Entity
public class ReportSnapshot extends LightEntity {
@Id
@GeneratedValue
private long id;
@OneToOne(fetch = FetchType.LAZY, optional = false, mappedBy = "snapshot")
private ReportContents contents;
@Embedded
private WeekNumber week;
...
}
和
@Entity
public class ReportContents extends LightEntity {
@Id
private long id;
@MapsId
@OneToOne(optional = false)
private ReportSnapshot snapshot;
@Lob
@Column(nullable = false)
private String reportText = "";
...
}
这里轻实体类来自gilead项目,用于gwt序列化支持 - 它不会影响流程。我观察到的是:当我从实体管理器通过id加载ReportSnapshot时,尽管存在惰性关联,我仍会自动获取链接的ReportContents。根据我所读到的内容,因为我将我的关系设置为非可选项,因此不应该喋喋不休=(
答案 0 :(得分:1)
您使用的是哪家提供商? OneToOne关联的休眠does not support lazy loading(至少不是开箱即用)。该页面记录了您可以尝试的一些方法。