Google app engine GAE中是否不允许@manytoman关系?
我的理解是,有了GAE JPA的支持,我无法:Google app engine GAE中是否不允许@manytoman关系?,google-app-engine,jpa,google-cloud-datastore,Google App Engine,Jpa,Google Cloud Datastore,我的理解是,有了GAE JPA的支持,我无法: @ManyToMany private Set<SSUser> contacts; protected SSUser(){} public SSUser(final String userId, final String emailId){ this.userId = userId; this.emailId = emailId; contacts = new
@ManyToMany
private Set<SSUser> contacts;
protected SSUser(){}
public SSUser(final String userId, final String emailId){
this.userId = userId;
this.emailId = emailId;
contacts = new HashSet<SSUser>();
}
@manytomy
私人设置联系人;
受保护的SSUser(){}
公共SSUser(最终字符串用户ID、最终字符串电子邮件ID){
this.userId=userId;
this.emailId=emailId;
contacts=newhashset();
}
我正试图建立一种联系关系。我是否正确理解了上述情况是不允许的
如果是,是否允许设置ContactSID
?
我可以从在线文档中获得一个工作示例吗?关于数据存储不支持的内容: JPA的以下特点 应用程序不支持接口 引擎实现:
- 拥有多对多关系
- “加入”查询。不能在筛选器中使用子实体的字段 在父对象上执行查询时 友善的请注意,您可以测试 父项的关系字段 在查询中使用键
- 聚合查询(分组依据、拥有、总和、平均值、最大值、最小值)
- 多态查询。不能对类执行查询以获取 子类的实例。每节课都是 由单独的实体类表示 在数据存储中
是的,他们是不允许的 是否允许设置联系人SID?能给我一个工作实例吗 它可以工作,请参见:
正是在阅读了我发布的内容之后!您还将如何在GAE中使用JPA实现这一非常基本的关系?设置通讯录?没有更好的了?@simpatico:GAE的解决办法是映射
Key
集合,请参阅。这个参考是针对JDO的,但我的理解是,您可以将这些概念转换为JPA(遗憾的是,JPA文档太糟糕了,就像谷歌不希望您使用JPA一样)。我也有同样的感觉!是否有GAE JPA演示/示例?Google希望您使用JDO,因为JPA的设计考虑了关系(SQL)数据库。App Engine的数据存储不是SQL数据库。来自维基百科:“Java持久性API仅为RDBMS指定关系持久性(ORM:对象关系映射)(尽管存在支持其他数据存储的提供者)。Java数据对象规范提供了关系持久性(ORM)以及对其他类型数据存储的持久性。“@Pascal Thivent我同意,将JPA列为受支持的项目是很不明智的,但没有很好的文档支持它。也许他们需要说JPA的支持是“预测试版”或者更好地描述其作为二等公民的状态。从积极的方面来看,JPA和JDO中都有一些好消息:是的,当你将每一方标记为@Unowned时,它们是允许的