Разрешены ли отношения @ManyToMany в GAE? - PullRequest
3 голосов
/ 06 августа 2010

Насколько я понимаю, с поддержкой 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 ]

2 голосов
/ 12 августа 2010

Да, они не разрешены.

Установить контакты. Разрешить?Могу ли я предоставить рабочий пример?

Работает, см .: http://screenshoter.svn.sourceforge.net/viewvc/screenshoter/screenshoter/trunk/SS-server/src/com/mysimpatico/ss/server/SS_serverServlet.java?revision=8&view=markup

1 голос
/ 06 августа 2010

Из онлайн-документации о том, что хранилище данных не поддерживает:

Неподдерживаемые функции JPA 2.0

Следующие функции интерфейса JPA:не поддерживается реализацией App Engine:

  • Взаимосвязи "многие-ко-многим"
  • Запросы "Соединение".Вы не можете использовать поле дочерней сущности в фильтре при выполнении запроса к родительскому виду.Обратите внимание, что вы можете проверить поле отношения родителя непосредственно в запросе, используя ключ.
  • Агрегирующие запросы (группируются по, имея, сумма, avg, max, min)
  • Полиморфные запросы.Вы не можете выполнить запрос класса, чтобы получить экземпляры подкласса.Каждый класс представлен отдельным видом сущности в хранилище данных.
...