2014-10-10 88 views
1

我正在构建一个与Google Appengine数据存储集成而不使用JDO的android应用程序。为什么getEntityManager()未定义? “无法解析方法getEntityManager”

我正在尝试构建一个允许我访问数据存储中的数据的端点。我写功能如下,但是,我有一个奇怪的问题,尽管把这个代码到端点的java类...

我得到的是Cannot Resolve Method getEntityManager()

在,我在网上看到的每一个例子中的错误,它都调用这个函数。 - 所以必须有办法让它工作,否则我必须做一些愚蠢的事情。

我错过了什么?我怎样才能解决这个

@Api(name = "getPostsApi", version = "v1", namespace = @ApiNamespace(ownerDomain = "endpoints.myModule.myCo.com", 
     ownerName = "endpoints.myModule.myCo.com", packagePath="")) 
public class GetPostsEndpoint { 

    /** 
    * This method lists all the entities inserted in datastore. 
    * It uses HTTP GET method and paging support. 
    * 
    * @return A CollectionResponse class containing the list of all entities 
    * persisted and a cursor to the next page. 
    */ 
    @SuppressWarnings({"unchecked", "unused"}) 
    @ApiMethod(name = "GetPostsEndpoint") 
    public CollectionResponse<NewPostBean> listStuff(
      @Nullable @Named("cursor") String cursorString, 
      @Nullable @Named("limit") Integer limit) { 


     EntityManager mgr = null; 
     Cursor cursor = null; 
     List<NewPostBean> execute = null; 

     try { 
      mgr = getEntityManager(); // <---- Breaks on this line 

      //Query query = mgr.createQuery("select from Stuff as Stuff"); 
//    limit =1; 

      //execute = (List<NewPostBean>) query.getResultList(); 
      //cursor = JPACursorHelper.getCursor(execute); 
      //for (NewPostBean obj : execute) 
      // ; 
     //} finally { 
     // mgr.close(); 
     //} 

     return CollectionResponse.<NewPostBean>builder().setItems(execute).setNextPageToken(cursorString).build(); 
    } 
} 

回答

1

当我看here,我看到他们实际上通过创建该类获取实体管理器:

public final class EMF { 
    private static final EntityManagerFactory emfInstance = 
     Persistence.createEntityManagerFactory("transactions-optional"); 

    private EMF() {} 

    public static EntityManagerFactory get() { 
     return emfInstance; 
    } 
} 

然后他们叫EMF.get()来获取实体经理。我只是用它,它的工作原理。你发现哪些代码以这种方式调用“getEntityManager”?根据您发布的代码,getEntityManager似乎没有任何定义

+0

我在网上学习一个教程!我想他们离开了那部分。另外,我添加了一个变量和一个函数来返回EntityManager而不是EntityManagerFactory。非常感谢 – user198923 2014-10-10 22:12:54

+0

非常欢迎:)令人惊讶的教程留下了这样一个重要的部分:P – Patrice 2014-10-10 22:13:35

相关问题