我正在构建一个与谷歌appengine数据存储集成的Android应用程序,而不使用JDO。
我正在尝试构建一个允许我访问数据存储区中数据的端点。我写的函数如下,但我有一个奇怪的问题,尽管把这段代码放到端点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();
}
}
答案 0 :(得分: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()来获取实体管理器。我只使用它,它的工作原理。你发现什么代码调用&#34; getEntityManager&#34;像那样的蓝色?根据您发布的代码,getEntityManager似乎根本没有定义