JPA 跨越EntityManager保存实体.

今天打算用2个manager保存实体,一个EM取出实体,并修改,另一个EM保存该实体,但是报了如下错误:


Primary key field com.ibm.eve.core.entity.Vehicle.id of org.apache.openjpa.enhance.com$ibm$eve$core$entity$Vehicle$pcsubclass@6dd36dd3 has non-default value. The instance life cycle is in PNewState state and hence an existing non-default value for the identity field is not permitted. You either need to remove the @GeneratedValue annotation or modify the code to remove the initializer processing.


上网搜索也有很多人问,但是没有答案。

原来答案在persistence.xml的配置当中:在其文件中加入如下property即可:

<property name="openjpa.AutoDetach" value="close, commit, nontx-read"/>


相信一定也有很多人有同样的需求,或者遇到这个问题,确实不好解决,希望帮到你!


你可能感兴趣的:(manager,IBM,jpa)