Search code examples
hibernate-criteria

Hibernate criteria cannot fetch rows could not resolve property


Hi i have these 2 basic entity mapping for postgresql db, and i have wrote criteria for fetching all activated user which have same key it is showing this error

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;
}

Below is my criteria i have tried.

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

Solution

  • try this :

    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();
    

    it there the same error ?