2016-08-10 4 views
0

Salut j'ai ces 2 cartographie de l'entité de base pour postgresql db, et je l'ai écrit des critères pour aller chercher tous les utilisateurs activés qui ont la même clé, il montre cette erreurcritères Hibernate ne peut pas récupèrer des lignes ne pouvaient pas résoudre la propriété

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

Voici mes critères que j'ai essayés.

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

Répondre

0

essayez ceci:

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

là la même erreur?