I am trying to improve my skills in Java EE
I try to use this Query which I found it Here
SELECT COUNT(e) FROM Object e WHERE TYPE(e) <> Country
i use it like that
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);
but I get this error
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)
anyone have an idea how to correct that?
The syntax of your typedQuery is not correct. You shouldn't cast a Query in TypedQuery.
Use
TypedQuery<FooBar> query = em.createQuery(MyQuery, FooBar.class);
instead