Невозможно получить доступ к атрибутам второго уровня из критериев JPA / Hibernate - PullRequest
0 голосов
/ 16 января 2020

У меня есть documentType.hbm. xml, где набор определен, как показано ниже

<set name="subjectRequest"
    inverse="false"
    cascade="none">
    <key column="dcmnt_rqst_id" />
    <one-to-many class="com.model.document.SubjectRequest" />
</set> 

Внутри SubjectRequest.hbm. xml,

<component name="subjectRecordDescriptor" class="com.model.document.Descriptor">
    <property name="entityId" column="sbjct_entty_id" type="java.lang.Long"/>
    <many-to-one
        name="entityType"
        column="entty_assctn_cd"
        class="com.model.common.reference.EntityAssociationReference"
        fetch="join"
        cascade="none"
        not-null="false"
        lazy="false"/>
    <property name="userDefinedTableId" column="usr_dfnd_tbl_id" type="java.lang.Long"/>
</component>

Я не удалось получить доступ к subjectRecordDescriptor из subjectRequest из documentType при вызове критериев jpa.

root.join("subjectRequest.subjectRecordDescriptor.entityType", javax.persistence.criteria.JoinType.LEFT);

При вышеупомянутом соединении исключение вызывает исключение следующим образом:

java .lang.IllegalArgumentException: Невозможно найти атрибут с заданным именем [subjectRequest.subjectRecordDescriptor.entityType] в этом ManagedType [com.model.document.documentType]

Может кто-нибудь, пожалуйста, дайте мне знать, как получить доступ к

"subjectRequest.subjectRecordDescriptor.entityType" из documentType по jpa критерию вызова.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...