Toplink와 함께 jpa를 구현으로 사용하고 엔티티 목록 새로 고침에 관한 문제가 발생했습니다.엔티티 목록에 대한 최신 데이터 얻기
기본적으로이 시나리오입니다 :
private List<Entity> findAll()
{
final String sql = "SELECT e from " + anEntityClass.getSimpleName() + " e";
final Query query = itsManager.createQuery(sql);
List<Entity> result = query.getResultList();
return result;
}
그러나 우리가 외부에 의해 데이터베이스를 수정하는 경우가 캐시에 저장된 정보를 다시 사용하기 때문에, findall은에 두 번째 호출() 메소드는 오래된 정보를 반환합니다. 이 문제에 대한
하나의 해결책은
query.setHint("toplink.refresh", "True");
그래서 우리는 항상 상쾌 데이터를 얻을 지정하는 것입니다. 그러나 우리는 Toplink에 의존하고 있으며 공급자를 변경해야하는 경우 문제가 발생할 수 있습니다.
나는 entityManager.refesh() 메소드가 있다는 것을 알고 있지만 entitytManager.find()와 결합하여 하나의 엔티티 만 얻는 것을 보았습니다.
엔티티 목록에 대해 새로운 데이터를 가져 오는 표준 방법이 있습니까?