0
我想提高我的技能中的Java EE的Java EE/JPA/JPQL
我嘗試使用此查詢,我發現它Here
SELECT COUNT(e) FROM Object e WHERE TYPE(e) <> Country
我用它像
TypedQuery<String> query=(TypedQuery<String>) manager.createQuery
("SELECT COUNT(e) FROM Object e WHERE TYPE(e) <> Country");
List list=query.getResultList();
for(Object entity : list)
System.out.println(entity);
,但我得到這個錯誤
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: FROM near line 1, column 17 [SELECT COUNT(e) FROM Object e WHERE TYPE(e) <> Country]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1374)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1315)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:280)
任何人有一個想法如何糾正?
謝謝 我不認爲這是錯誤的來源,因爲它與此查詢 「SELECT COUNT(e)由國家工程e「 我認爲錯誤是由」Object「子句造成的 – 2013-04-08 13:05:42
Ofc它是因爲jpa不明白Object在這裏做什麼,因爲它不是一個聲明的實體。但是,如果這種類型的查詢是可能的,我想它可能會修復。 PLZ讓我知道你的調查結果 – Gab 2013-04-08 13:15:38
你好你是對的jpa不明白類型對象,起初我想這個查詢會返回我在我的數據庫中有多少反義詞(這是錯誤的),並且它適用於當我修改這樣的查詢: 「SELECT COUNT(u)FROM User u WHERE TYPE(u)<> Client」。 並返回我有管理員的數量在我的數據庫 客戶端和管理員有兩種類型從實體用戶 感謝您與主題 – 2013-04-08 13:56:26