Сервер - IBM WAS 8.5 Open JPA 2.2.3
Я пытаюсь выполнить персистентность, управляемую контейнером, с помощью диспетчера сущностей.
У меня определены следующие три сущности
- Сущность MainEntity Имеет идентификатор типа MainEntityPK
- MainEntityPK - имеет SubEntity1Code из таблицы SubEntity1 и SubEntity2Code из таблицы SubEntity2.
- Entity SubEntity1 - SubEntity1Code - первичный ключ
- Entity SubEntity2 - SubEntity2Code - первичный ключ
Я пытаюсьсоздать сущность MainEntity, которая имеет существующие записи SubEntity1 и SubEntity2
Сначала я нахожу сущности SubEntity1 и Seg, используя
SubEntity1 SubEntity1 =
Entitymanager.find(SubEntity1.class,SubEntity1Code)
SubEntity2 subEntity2 =
Entitymanager.find(SubEntity2.class,SubEntity2Code)
Выборка прошла успешно, и у меня есть оба экземпляра subEntity1и subEntity2
Теперь я пытаюсь установить первичный ключ MainEntityPK следующим образом
MainEntityPK MainEntityPK = new
MainEntityPK(SubEntity1Code,SubEntity2Code);
MainEntity MainEntity = new MainEntity();
MainEntity.setId(MainEntityPK);
Я получаю следующую ошибку:
Caused by: <openjpa-2.2.3-SNAPSHOT-r422266:1802534 nonfatal user error> org.apache.openjpa.persistence.ArgumentException
: Field: “model.MainEntity.id” of “model.MainEntity@e8df5623” can not be set to “model.MainEntityPK@1768a2” value.
Я попытался удалить вызов setId иполучала ошибку следующим образом:
Caused by: <openjpa-2.2.3-SNAPSHOT-r422266:1802534 nonfatal user error> org.apache.openjpa.persistence.ArgumentException
: Field: “model.MainEntity.id” od “model.MainEntity@e8df5623” can not be set to null value.
Может кто-нибудь помочь мне определить, что не так при установке экземпляра MainEntityPK в атрибут id для MainEntity