3
我的實體是:OneToOne,共享密鑰(MapsId)和懶加載問題
@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。據我讀過shudn't被hppening什麼,因爲我已經把我的關係是不可選=(