2012-05-07 15 views
0

我有兩個對象創建選擇JPQL查詢拋出異常

Person(long id, String name, PersonInfo info) 

PersonInfo(long id, String email, String lastname, in age) 

現在我嘗試創建一個javax.persistence.Query

我嘗試創建select to person where personinfo.email="somemail"

我嘗試

String queryString="select Person from Person p where p.PersonInfo._email='somemail'"; 
Query query=emf.createQuery(queryString); 
List resultList = query.getResultList(); 

,但我得到這個異常:

java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: PersonInfo of: Entities.Person [select Person from Entities.Person p where p.PersonInfo._email='somemail'] [Ljava.lang.StackTraceElement;@748e6591 

什麼,我東錯了嗎?

+2

不知道,但沒有它,而'從人p'選擇P檔? –

回答

0

什麼下列查詢字符串:

String queryString="select p from Person p where p.personInfo.email='somemail'"; 
+0

現在我明白了 - > String queryString =「從Person p選擇p,其中p.personInfo._email ='somemail'」; grrr該死的大寫/小寫謝謝 – user986474

+0

'_email'沒有問題嗎? – zellus

+0

不...這是屬性名稱 – user986474