服务器-IBM WAS 8.5 打开JPA 2.2.3
我正在尝试使用实体管理器执行容器管理的持久性。
我定义了以下三个实体
我尝试创建一个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实例设置为MainEntity的id属性时出了什么问题吗