1
トランザクション内のオブジェクトを更新しました。正常に更新され、データベースと同期されます...しかし、query.getResultList()を使用してエンティティを取得しているときは、更新されたオブジェクトと値でリストを返しません。すべてのオブジェクトを取得するためのオブジェクトを更新するためのJPA resultListから更新されたエンティティを取得する方法。?
ここでコードが私がやっているどのように言及...
javax.persistence.EntityManager entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("jdbc:oracle:thin:@Siddhant-PC:1521:XEPU").createEntityManager();
javax.persistence.Query professionalWorkQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT p FROM ProfessionalWork p order by p.jobNo");
java.util.List<ProfessionalWork> professionalWorkList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : professionalWorkQuery.getResultList();
コード...
ProfessionalWork proWork = entityManager.find(ProfessionalWork.class, jobNo);
entityManager.getTransaction().begin();
proWork.setStatus("Ready");
proWork.setReadyTime(DateWrapper.getTime());
entityManager.getTransaction().commit();
コード...
professionalWorkList = professionalWorkQuery.getResultList();
Iterator lab = professionalWorkList.listIterator();
while(lab.hasNext()){
ProfessionalWork pWork = (ProfessionalWork) lab.next();
System.out.println(pWork.getJobNo()+" -- "+pWork.getStatus());
//Here i'm getting All Objects(even newly added objects also...but i'm not getting my modified values in objects)
}
professionalWorkList.clear();
これを一度試すことができますか?professionalWorkQuery.setHint( "javax.persistence.cache.storeMode"、 "REFRESH"); –
おかげで兄弟...それは私のために働いた... :) –
それは働いた場合は、答えを受け入れる気になります:) –