I am trying to transfer object objects from one database to another without success. Code example:
EntityManagerFactory emfFrom = Persistence.createEntityManagerFactory(fromPU);
EntityManager emFrom = emfFrom.createEntityManager();
EntityManagerFactory emfTo = Persistence.createEntityManagerFactory(toPU);
EntityManager emTo = emfTo.createEntityManager();
//Code to create sql for example 'select row from order row' where order is an entity
Query q = emFrom.createQuery(sql);
for(Object o: q.getResultList()) {
emFrom.detach(o);
emTo.persist(entity);
}
The result is:
"main" > org.apache.openjpa.persistence.EntityExistsException: "Order-1". , , / null/default . FailedObject: Order-1 at org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2628) at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2571) at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2554) org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2458) at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1077) at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:716)
, . id null, ( ), :
Field f = o.getClass().getDeclaredField("id");
f.setAccessible(true);
f.set(o, null);
. null, . , .
java 7 openjpa 2.2. , , . .