0

ListCodesエンティティであるクラスの CriteriaQuery 述語を設定しようとしています。MappedSuperClassListCodesと呼ばれるスーパークラスもあります。Auditable

これをやろうとすると

CriteriaQuery < ListCodes > criteriaQuery = builder.createQuery(ListCodes.class);
Root < ListCodes > listCodesRoot = criteriaQuery.from(ListCodes.class);
Predicate predicate = builder.equal(listCodesRoot.get("codeTypeCode"), "STATUSIND");
criteriaQuery.where(predicate);

codeTypeCodeで属性が見つからないという例外が発生しますAuditabletreatただし、を使用してルートを作成する代替ソリューションを試みるとAuditable、Auditable は MappedSuperClass にすぎないという例外が発生するため、ルートにすることはできません。

ここで適切な解決策は何ですか?MappedSuperClass のサブクラスで CriteriaQuery を使用するにはどうすればよいですか?

編集: Auditable および ListCodes に関連するヘッダーは次のとおりです。

@MappedSuperclass
@EntityListeners({AuditListener.class})
@XmlRootElement(namespace=WebServiceConstants.MESSAGES_NAMESPACE)
@XmlType(namespace=WebServiceConstants.MESSAGES_NAMESPACE)
public class Auditable {
@Entity
@Table (name="TB_LIST_CODE")
public class ListCodes extends Auditable implements java.io.Serializable {

    @Column(name="CODE_TYPE_CODE")      
    private String codeTypeCode; 

4

0 に答える 0