0

GCM이 작동하는 App Engine 연결 Android 프로젝트가 있습니다. 자, 내 로컬 호스트에 appengine 애플리케이션에 대한 Mysql 인스턴스를 연결하려고한다. 나는이 instructions을 쫓아 왔지만 헛되지 않았습니다. 내가 엔드 포인트를 사용하여이 테이블에 행을 추가하기 위해 노력하고있어이Cloud SQL을 appengine에 연결된 Android 프로젝트와 통합 할 수 없습니까?

+---------+-------------+------+-----+---------+----------------+ 
| Field | Type  | Null | Key | Default | Extra   | 
+---------+-------------+------+-----+---------+----------------+ 
| _ID  | bigint(5) | NO | PRI | NULL | auto_increment | 
| COLUMN1 | varchar(20) | NO |  | NULL |    | 
+---------+-------------+------+-----+---------+----------------+ 

처럼

지방 MySQL의 인스턴스의 표 보인다. 그러나 Appengine 프로젝트는 반복적으로 로컬 데이터 스토어에 행을 계속 추가합니다.

또한 설명서에는 EclipseLink가 사용되었습니다. 한편으로 datanucleus 라이브러리는 기본적으로 appengine 프로젝트에 추가되고 JPA with EclipseLink documentation이 생깁니다. 설명서가 혼란 스럽습니다.

datanucleus 또는 EclipseLink를 사용해야합니까? 나는 두 가지 방법을 시도하고 실패했습니다. 엔드 포인트는 Datanucleus 라이브러리를 사용합니다. 예를 들어 종단점은 Datanucleus에있는 JPACursorHelper 클래스를 사용합니다. 내가 달성하고자하는 것은 로컬 appengine 개발에서 endpoint를 사용하여 위의 테이블에 행을 추가하는 것입니다.

참고 :

  1. 나는 주석 Test.java 클래스는있는 나는 endpoint class를 생성했습니다했습니다.
  2. <class> 태그를 persistence.xml에 추가했습니다.
  3. 주석 처리기는 Datanucleus로 구성됩니다.
  4. 데이터베이스 개발 퍼스펙티브는 로컬 인스턴스가 연결되어 있음을 보여줍니다.
  5. 내가 선호하는 것은 Datanucleus입니다.
+0

JPACursorHelper는 RDBMS가 아닌 GAE/Datastore (일명 BigTable) 데이터베이스와 함께 사용되는 클래스이며 실제로는 거의 수행되지 않습니다 (http://code.google.com/p/datanucleus-appengine/source/browse/trunk 참조). /src/com/google/appengine/datanucleus/query/CursorHelper.java. 사용하려는 JPA 지속성 구현을 사용해야합니다. API (JPA)를 사용하는 전체 요점이기 때문에 ... 참조하는 문서 페이지에 "원하는 JPA 구현 선택"이라고 표시되어 있어야합니다. – DataNucleus

+0

DataNucleus, 신속한 답변을 보내 주셔서 감사합니다. TestEndpoint.java에 insertTest 메소드를 통해 새로운 행이 삽입되고 있습니다. 파일을 다시 살펴보면 JPACursorHelper가 방해가되지 않음을 알 수 있습니다. 내가 틀렸다면 나를 바로 잡아주세요. – FireAndIce

+0

생성 된 엔드 포인트가 Datastore에서만 작동한다는 것을 의미합니까? – FireAndIce

답변

1

"TestEndpoint"클래스는 AppEngine/Datastore에만 해당 (JPACursorHelper 클래스 사용)하므로 작동하지 않습니다. 메소드가 무엇을 하든지간에 표준 JPA 기능을 사용하여 클래스를 작성해야합니다. GAE-specific features을 사용하면 휴대 성을 잃을 수 있습니다.

+0

DataNucleus에게 감사드립니다. 귀하의 의견은 항상 차이를 만듭니다. :) – FireAndIce

+0

DataNucleus, 이식성을 잃고 싶지 않으면 어떻게해야합니까? 나는 "구름"을 처음 사용합니다. 클라이언트 - 클라우드 커뮤니케이션을위한 아키텍처 패턴을 사용하여 애플리케이션을 구축해야합니까? – FireAndIce

+0

브로커 패턴이 좋아? – FireAndIce

관련 문제