guiceによって簡単なサービスが注入されています。これは、Hibernate、EntityManagerを使用します。手動で行を更新すると、Javaエンティティマネージャは変更をロードしません。
class BrillantPaulaServiceImpl implements BrillantPaulaService {
@Inject
EntityManager em;
@Override
public Status EnqueueStatusCheck(Integer statusId) {
Status status = em.find(Status.class, statusId);
EntityTransaction transaction = em.getTransaction();
try {
//..... do some work
} finally {
if (transaction.isActive()) {
transaction.rollback();
}
}
}
return status;
}
pgsqlから手動で行を更新すると、 "Status status = em.find(Status.class、statusId);"変更を表示しません。古いエンティティを返します。考えられる問題は何ですか?
私はあなたが休止状態の第2レベルのキャッシュを持っているか、pgsqlステートメントがコミットされていないと思います。 –