GAE中不允许@ManyToMany关系吗?

时间:2010-08-06 13:18:23

标签: 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 HashSet<SSUser>();
    }

我正在尝试建立联系关系。我是否正确理解上述内容是不允许的?

如果是,会Set<String> contactsIds被允许吗? 我可以提供一个有效的例子吗?

2 个答案:

答案 0 :(得分:2)

是的,不允许这样做。

  

允许设置contactsIds吗?我可以提供一个有效的例子吗?

有效,请参阅: http://screenshoter.svn.sourceforge.net/viewvc/screenshoter/screenshoter/trunk/SS-server/src/com/mysimpatico/ss/server/SS_serverServlet.java?revision=8&view=markup

答案 1 :(得分:1)

从有关数据存储区不支持的内容的在线文档中:

  

Unsupported Features of JPA 2.0

     

JPA的以下功能   应用程序不支持该界面   引擎实施:

     
      
  • 拥有多对多关系
  •   
  • “加入”查询。您不能在过滤器中使用子实体的字段   在父项上执行查询时   类。请注意,您可以测试   父母的关系领域直接   在使用密钥查询。
  •   
  • 聚合查询(分组依据,拥有,总和,平均值,最大值,分钟数)
  •   
  • 多态查询。您无法执行要获取的类的查询   子类的实例。每节课都是   由单独的实体类型代表   在数据存储区中。
  •