Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OneTONE具有共享密钥(MapsId)和延迟加载问题_Java_Hibernate_Lazy Loading_Jpa 2.0_One To One - Fatal编程技术网

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 = "";
  ...
}