Hibernate 条件无法获取行无法解析 属性

Hibernate criteria cannot fetch rows could not resolve property

你好,我有这两个用于 postgresql 数据库的基本实体映射,我已经为 获取所有具有相同密钥的激活用户显示此错误

org.hibernate.QueryException: could not resolve property: key.id of: com.sar.dfsapp.modal.ActivatedUser




@Entity
@Table(name = "activated_user")
public class ActivatedUser implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false, length = 11)
    private long id;
    @ManyToOne
    @JoinColumn(name = "key_id", nullable = false)
    private Key key;
}


@Entity
@Table(name = "key")
public class Key implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false, length = 11)
    private long id;
    @Column(name = "key_code", nullable = false)
    private String keyCode;
}

以下是我试过的标准。

Criteria c = getSession().createCriteria(ActivatedUser.class);
    c.add(Restrictions.eq("key.id", id));
    List<ActivatedUser> result = c.list();

试试这个:

Criteria c = getSession().createCriteria(ActivatedUser.class);
Criteria keyCriteria = criteria.createCriteria("key", CriteriaSpecification.INNER_JOIN);
keyCriteria.add(Restrictions.eq("id", id));
List<ActivatedUser> result = c.list();

有同样的错误吗?