我有一个包含一对多关系的类。检索工作正常,然后有人触摸了数据库,现在检索无法填充集合。
关系:
母实体:许可期
@OneToMany(fetch=FetchType.LAZY, mappedBy = "permitPeriodEntity")
@Cascade({CascadeType.ALL})
private Set<SubmittedFormEntity> submittedForms;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns( {
@JoinColumn(name = "PERMIT_ID", insertable = false, updatable = false),
@JoinColumn(name = "PERIOD_ID", insertable = false, updatable = false)
})
private PermitPeriodEntity permitPeriodEntity;
将对象传递给Dozer时生成的实际SQL(延迟加载)
Hibernate: select submittedf0_.PERMIT_ID as PERMIT_ID9_21_0_, submittedf0_.PERIOD_ID as PERIOD_ID8_21_0_, submittedf0_.FORM_ID as FORM_ID1_21_0_, submittedf0_.FORM_ID as FORM_ID1_21_1_, submittedf0_.CREATED_BY as CREATED_BY2_21_1_, submittedf0_.CREATED_DT as CREATED_DT3_21_1_, submittedf0_.FORM_NUM as FORM_NUM4_21_1_, submittedf0_.FORM_TYPE_CD as FORM_TYPE_CD5_21_1_, submittedf0_.MODIFIED_BY as MODIFIED_BY6_21_1_, submittedf0_.MODIFIED_DT as MODIFIED_DT7_21_1_, submittedf0_.PERIOD_ID as PERIOD_ID8_21_1_, submittedf0_.PERMIT_ID as PERMIT_ID9_21_1_ from TU_SUBMITTED_FORM submittedf0_ where submittedf0_.PERMIT_ID=? and submittedf0_.PERIOD_ID=?
因此,当我调用Dozer将其映射到我的新bean时,hibernate正在调用SQL来延迟加载这些数据,但在调试器中,我可以看到实体的集合,虽然在Dozer映射之后初始化,但它是空的,即使它应该有三个记录。
这已经工作了两周了,我没有修改任何代码。你知道为什么这会突然停止工作吗?