【发布时间】:2011-03-28 21:53:12
【问题描述】:
我的实体是:
@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。根据我读到的内容,这不会发生,因为我已将我的关系设置为非可选 =(
【问题讨论】:
标签: java hibernate lazy-loading jpa-2.0 one-to-one