Reputation: 108
EntityManagerFactory entityManagerFactory = Persistence
.createEntityManagerFactory("PrimeEclipseLink");
EntityManager entityManager = entityManagerFactory
.createEntityManager();
Query query=entityManager.createQuery("select name from member");
List<String> memberList=query.getResultList();
for(String e:memberList){
System.out.println(e);
I want list name in my database but I get error message like this.`
Tem 14, 2015 9:55:28 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{memberControl.login()}: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing [select name from member].
[23, 23] An identification variable must be provided for a range variable declaration.
javax.faces.FacesException: #{memberControl.login()}: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing [select name from member].
[23, 23] An identification variable must be provided for a range variable declaration.
Upvotes: 2
Views: 2522
Reputation: 11531
Your JPQL query is invalid as the message says. Just change your JPQL query to be
SELECT m.name FROM member m
and then it would work (since that is valid JPQL). The other answer would mean you throw away datastore independence.
Upvotes: 2
Reputation: 9063
Try to use createNativeQuery
instead of createQuery
in following:
Query query=entityManager.createNativeQuery("select name from member");
Upvotes: 2