Java OneTONE具有共享密钥(MapsId)和延迟加载问题
我的实体是:Java OneTONE具有共享密钥(MapsId)和延迟加载问题,java,hibernate,lazy-loading,jpa-2.0,one-to-one,Java,Hibernate,Lazy Loading,Jpa 2.0,One To One,我的实体是: @Entity public class ReportSnapshot extends LightEntity { @Id @GeneratedValue private long id; @OneToOne(fetch = FetchType.LAZY, optional = false, mappedBy = "snapshot") private ReportContents contents; @Embedded private WeekNu
@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;
...
}
及
这里的light实体类来自gilead项目,用于gwt序列化支持——它不会影响流程。我观察到的是:当我从实体管理器加载ReportSnapshot by id时,尽管存在延迟关联,我还是会自动获取链接的ReportContents。根据我所读到的内容,shudn't hpopening,因为我已将我的关系设置为非可选=(您正在使用哪个提供商?OneTone关联的休眠(至少不是现成的)。该页面记录了一些您可以尝试的方法
@Entity
public class ReportContents extends LightEntity {
@Id
private long id;
@MapsId
@OneToOne(optional = false)
private ReportSnapshot snapshot;
@Lob
@Column(nullable = false)
private String reportText = "";
...
}