2014-09-11 1 views
0

최대 절전 모드 및 기준에 새로운 기능이있어서 다음과 같은 문제가 발생합니다. 나는 문서의 목록을 얻으려고 노력하고 있으며 클라이언트 ID 만 가지고있다. 최대 절전 모드로 데이터를 가져올 수 있습니까?최대 절전 기준 2 호

나는 다음과 같은 기관

@Entity 
public class Document implements Serializable { 

    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    private Long id; 

    @OneToMany(fetch=FetchType.LAZY) 
    @JoinColumn(name="documentId", referencedColumnName="id") 
    private List<Gd_Client> clientList; 
    (...) 

@Entity 
public class Gd_Client implements Serializable { 

@Id 
private long clientId; 
@Id 
private String SecId; 

(...) 

그리고 DAO에서

있어 :

public List<Document> getDocumentsbyClientId(Long clientId) { 

    Session session = entityManager.unwrap(Session.class); 
    Criteria crit = session.createCriteria(Document.class); 

    crit.add(Restrictions.eq("clientId",clientId)); 

    return crit.list(); 

} 

내가받을 다음과 같은 오류 :

ERROR: Parameter #1 has not been set. 
09/11/2014 11:27:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error 
WARNING: Exception occurred during processing request: could not execute query 
org.hibernate.exception.SQLGrammarException: could not execute query 
+0

이 행을 변경하려고 시도했습니다. crit.add (Restrictions.eq ("clientId", clientId)); ---> crit.add (Restrictions.eq ("Id", clientId)); – zumit

답변

1

CriteriaDocument 엔티티에 생성됩니다 그리고 거기에없는 속성 clientId에 액세스하려고합니다. Document 엔티티에서, 그래서 최대 절전 모드는 예외를 제공합니다.