引起:org.hibernate.MappingException:未知的集合角色 - embedabble + criteriaBuilder

时间:2016-01-12 09:10:37

标签: java hibernate

我尝试使用条件构建器为嵌入式中定义的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本身(因此在嵌入之外),现在它似乎正在工作..不能将此视为一个解决方案,但我把它作为一个额外的评论。

0 个答案:

没有答案