我尝试使用条件构建器为嵌入式中定义的elementCollection创建表达式列表,但它总是抛出:
unsafeWindow.myPageVar
有没有人有任何想法解决这个问题?
这是我的代码:
实体:
Caused by: org.hibernate.MappingException: Unknown collection role: be.fgov.health.gift.action.domain.potentialdonorfile.patient.GeneralPatientInformation.causesOfDeath
存储库层:
@Entity
@Table(name = "POTENTIAL_DONOR_FILE")
@SequenceGenerator(name = Domain.SEQUENCE_GENERATOR_NAME, sequenceName = "PDF_SEQUENCE")
//Domain contains the Id
public class PotentialDonorFile extends Domain {
@Embedded
private GeneralPatientInformation generalPatientInformation;
}
@Embeddable
public class GeneralPatientInformation {
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "CAUSES_OF_DEATH",
joinColumns = @JoinColumn(name = PDF_ID_JOIN_COLUMN_NAME))
@Column(name = "CAUSE_OF_DEATH")
@Enumerated(EnumType.STRING)
@Fetch(FetchMode.SELECT)
private List<CauseOfDeath> causesOfDeath;
}
总结一下:
当我打电话给&#34; Expression<List<CauseOfDeath>> listExpression = getGeneralPatientInformationPath(potentialDonorFileRoot).get(GeneralPatientInformation_.causesOfDeath);
private Path<GeneralPatientInformation> getGeneralPatientInformationPath(Root<PotentialDonorFile> potentialDonorFileRoot) {
return potentialDonorFileRoot.get(PotentialDonorFile_.generalPatientInformation);
}
&#34;我得到xxx.get(GeneralPatientInformation_.causesOfDeath);
。
编辑:
作为测试我已将MappingException
移动到ElementCollection
本身(因此在嵌入之外),现在它似乎正在工作..不能将此视为一个解决方案,但我把它作为一个额外的评论。