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();
有同样的错误吗?
你好,我有这两个用于 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();
有同样的错误吗?