3 つの属性 { id ,name ,age } を持つクラス Person を考えてみましょう。id は name||age として形成されます。get クエリは 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")
}
別のトランザクション呼び出しから
repository.findByNameAndAge("abc", "23")
結果が返されますが、そのレコードが作成されている同じトランザクションでは、結果は返されません。
リポジトリはこちら
public interface PersonRepository extends GemfireRepository<RecordRevision, String> {
List<Person> findByNameAndAge(String name, String age);
リージョンは REPLICATE_PERSISTENT で、PDX シリアライゼーションを使用しています。呼び出しは同じトランザクションでも機能するはずですが、これは既知の問題ですか?