2016-08-31 42 views
0

我有3個連接類與@OneToMany關係Hibernate的標準與多級加盟

Luce.class

public class Luce implements java.io.Serializable{ 

    private Client client; 
} 

Client.class

public class Client implements java.io.Serializable{ 

     private Server server; 
    } 

Server.class

public class Server implements java.io.Serializable{ 

     private Piano Piano; 
    } 

我需要得到來自指定鋼琴的Luce列表。 所以,在我的DAO接口的實現我試圖做到以下幾點:

Criteria criteria = createEntityCriteria(); 
     criteria.createAlias("client", "c"); 
     criteria.createAlias("server", "s"); 
     criteria.add(Restrictions.eq("c.s.piano", piano); 

,但我得到的異常

org.hibernate.QueryException: could not resolve property: server of: it.besmart.models.Luce 
+0

請提供類 –

+0

用'criteria.createAlias( 「c.server」, 「S」)'代替'criteria.createAlias( 「服務器」, 「S」)' –

回答

1

您嘗試進行盧斯創建屬性服務器的別名,所以它不會工作。

Criteria criteria = createEntityCriteria(); 
    criteria.createAlias("client", "c"); 
    criteria.createAlias("c.server", "s"); 
    criteria.add(Restrictions.eq("s.piano", piano); 
+0

感謝,它嘗試映射對我來說真的是一個愚蠢的錯誤... – besmart