Hi All,
I try to use it in Google App Engine 1.7.5 with JPA 2.0, and the Datanucleus JPA version is V2.
here is the lib in the classpath:
- datanucleus-api-jpa-3.1.3.jar
- datanucleus-appengine-2.1.2.jar
- datanucleus-core-3.1.3.jar
- datanucleus-enhancer-3.1.1.jar
- geronimo-jpa_2.0_spec-1.0.jar
- jdo-api-3.0.1.jar
- jta-1.1.jar
- asm-4.0.jar
- dao-1.1.0.jar
- search-1.1.0.jar
- persistence-api-1.0.jar
- slf4j-api-1.7.2.jar
EntityManager entityManager = EMF.get().createEntityManager();
JPAAnnotationMetadataUtil metadataUtil = new JPAAnnotationMetadataUtil();
JPASearchProcessor searchProcessor = new JPASearchProcessor(metadataUtil);
PersonDaoImpl personDao = new PersonDaoImpl();
personDao.setEntityManager(entityManager);
personDao.setSearchProcessor(searchProcessor);
Search search = new Search(Person.class);
search.addFilterEqual("name", "asmilk");
List<Person> personList = personDao.search(search);
for(Person person : personList) {
LOG.info("Item:" + person.toString());
}
Then I got this error:
Uncaught exception from servlet
java.lang.NoSuchFieldError: PESSIMISTIC_READ
at org.datanucleus.api.jpa.JPAQuery.getResultList(JPAQuery.java:171)
at com.googlecode.genericdao.search.jpa.JPASearchProcessor.search(JPASearchProcessor.java:81)
at com.googlecode.genericdao.dao.jpa.JPABaseDAO._search(JPABaseDAO.java:322)
at com.googlecode.genericdao.dao.jpa.GenericDAOImpl.search(GenericDAOImpl.java:123)
If I change Datanucleus JPA version to V1 which use
datanucleus-core-1.1.5.jar. I can use the same code to get the result
without any error. any idea for this?
Regards,
Asmilk Ceng