JPA, Google Cloud SQL 및 로컬 MySQL 데이터베이스로 작업하는 개발 Google App Engine 앱을 얻으려고합니다. GAE Eclipse 플러그인을 사용하고 있습니다. Google Cloud SQL 인스턴스에 가입했습니다. Google Cloud SQL을 사용하고 로컬 MySQL 데이터베이스 및 클라우드 SQL 인스턴스에 대한 연결 정보를 입력하도록 프로젝트의 앱 엔진 설정을 구성했습니다.GAE google cloud sql 빈 결과가있는 JPA 로컬 mysql
데이터 핵 강화제가 내 57 개의 클래스를 선택하고 성공적으로 최적화 된 클래스가있는 로그를 확인합니다. 이클립스 내에서 내 응용 프로그램을 실행하고 dev에 환경이 성공적으로 발생하고 브라우저를 통해 내 애플 리케이션을 얻을 수 있습니다.
문제점은 데이터베이스의 데이터를 JPA 호출을 통해 검색 할 수 없다는 것입니다. 응용 프로그램 출력에 오류가 표시되지 않습니다. 디버거를 통해 JPA 호출을 성공적으로 내 애플 소스 코드에서 예외를 던지지 않고 실행을 실행합니다. 내가 검색에서 빈 목록을 얻을.
여기에 무엇을해야할지 모르겠습니다. 나는 오랫동안 온라인에서 연구를 해왔고, 내가 뭘 잘못하고 있는지 알 수 없다. 예외 나 사용할 것이 없을 때 무언가를 추적하기가 어렵습니다.
내 생각 엔 뭔가 실패했지만 오류가 삼켜 지거나 제한 될 수 있습니다. 나는 또한 기준 빌더를 사용하여 JPA 호출을 변경 한 다음 곧은 JPQL을 사용하여 시도했다. 여전히 동일한 결과를 얻습니다.
dev 서버에 대한 인수를 확인했으며 로컬 mysql 서버에 입력 한 구성에서 사용되는 인수가 표시됩니다. 인수가 어떻게 든 무시 될 수 있습니까?
어떤 도움
주시면 감사하겠습니다.의 persistence.xml -
<persistence-unit name="iberis-jpa">
<provider>org.datanucleus.api.jpa.PersistenceProviderImpl</provider>
<class>com.bizznetworxonline.iberis.core.SystemArea</class>
<class>com.bizznetworxonline.iberis.core.SystemUnit</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="datanucleus.NontransactionalRead" value="true"/>
<property name="datanucleus.NontransactionalWrite" value="true"/>
<property name="datanucleus.ConnectionURL" value="appengine"/>
</properties>
</persistence-unit>
JPQL 호출 (테스트 만 2 클래스 포함) : 콘솔에서
public List<?> findAll(Class<?> entityClass)
{
EntityManager em = JPA_EMF.get().createEntityManager();
javax.persistence.Query q = em.createQuery("SELECT o FROM " + entityClass.getSimpleName() + " o",entityClass);
List<?> results = q.getResultList();
return results;
}
출력 :
Mar 30, 2013 9:49:06 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed /home/user/Documents/eclipse-workspace/IberisAdmin/war/WEB-INF/appengine-web.xml
Mar 30, 2013 9:49:06 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed /home/user/Documents/eclipse-workspace/IberisAdmin/war/WEB-INF/web.xml
Mar 30, 2013 9:49:06 PM com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties
INFO: Overwriting system property key 'java.util.logging.config.file', value '/home/user/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/com.google.appengine.eclipse.sdkbundle_1.7.6/appengine-java-sdk-1.7.6/config/sdk/logging.properties' with value 'WEB-INF/logging.properties' from '/home/user/Documents/eclipse-workspace/IberisAdmin/war/WEB-INF/appengine-web.xml'
Mar 30, 2013 9:49:07 PM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
Mar 30, 2013 9:49:07 PM com.google.apphosting.utils.jetty.JettyLogger info
INFO: jetty-6.1.x
Mar 30, 2013 9:49:10 PM com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra 2.1.12 (20120814-1522) for context ''
Mar 30, 2013 9:49:13 PM com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed.
Mar 30, 2013 9:49:21 PM org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.5
Mar 30, 2013 9:49:21 PM org.primefaces.extensions.application.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces Extensions 0.6.3
Mar 30, 2013 9:49:22 PM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Started [email protected]:8888
Mar 30, 2013 9:49:22 PM com.google.appengine.tools.development.AbstractServer startup
INFO: Server default is running at http://localhost:8888/
Mar 30, 2013 9:49:22 PM com.google.appengine.tools.development.AbstractServer startup
INFO: The admin console is running at http://localhost:8888/_ah/admin
Mar 30, 2013 9:49:22 PM com.google.appengine.tools.development.DevAppServerImpl start
INFO: Dev App Server is now running
Mar 30, 2013 9:49:35 PM com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized:
Type: High Replication
Storage: /home/user/Documents/eclipse-workspace/IberisAdmin/war/WEB-INF/appengine-generated/local_db.bin
Mar 30, 2013 9:49:35 PM com.google.appengine.api.datastore.dev.LocalDatastoreService load
INFO: The backing store, /home/user/Documents/eclipse-workspace/IberisAdmin/war/WEB- INF/appengine-generated/local_db.bin, does not exist. It will be created.
Mar 30, 2013 9:49:37 PM com.google.apphosting.utils.jetty.JettyLogger warn
나는 이미 위에 게시 한 것과 같이 jpql을 사용하도록 코드를 변경했습니다. 작동하지 않습니다. 내 컨트롤러는 데이터를 가져 오는 함수를 호출하는 간단한 세션 관리 빈입니다. 나는 문제가 컨트롤러에 있다고 생각하지 않는다. 내 dev에 사용하고있는 가상 머신은 우분투 12.04에서 약간 나이가 들었고 기본 OS와 Eclipse를위한 몇 가지 업그레이드를 거쳤습니다. 제 추측으로는 제 환경에서 무언가가 진지하게 떠올랐다는 것입니다. 이후로 아무도이 문제를 겪고 있지 않습니다. 이상한 점은 하나의 오류 메시지가 표시되지 않는다는 것입니다. –
새로운 vm에 새로운 환경을 설치하려고합니다. 거기서 무슨 일이 일어나는지 시험해볼 것입니다. 바라기를 바랍니다. –