2016-07-07 2 views
1

클래스를 고려하십시오. {id, name, age} 세 개의 속성이있는 Person id는 이름 || age로 구성됩니다. 나오는 get 쿼리는 repository.findByNameAndAge("abc", "23") 반환의 원인이 다른 트랜잭션 통화에서하지만 그 기록은 그렇지 않은 생성되고있는 동일한 트랜잭션에서동일한 트랜잭션 내의 Id 열에 대해서만 쿼리를 수행하십시오.

@Transactional 
public void test(String id,String id2) { 
personService.save(new Person("abc","123")); 
Person person = repository.findByNameAndAge("abc", "23"); //doesn't work in same transaction 
    //however find by Id column works in same transaction works 
    repository.findOne("abc||23") 
    } 

(레코드가 작성된 동일한 트랜잭션에서) 아이디 만하고있다 결과를 반환하십시오.

여기 저장소는이 알려진 문제,

public interface PersonRepository extends GemfireRepository<RecordRevision, String> { 
      List<Person> findByNameAndAge(String name, String age); 

지역은 REPLICATE_PERSISTENT하고 내가 호출도 동일한 트랜잭션에서 작동합니다 PDX 직렬화 을 사용하고있다?

답변