import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.stereotype.Repository;
@Repository
public interface PersonRepository extends MongoRepository<Person, String> {
@Query("{ 'firstname' : ?0 }")
List<Person> findByFirstname(String firstname);
}
MongoDB で spring data jpa を使用しています。リポジトリを使用して、(すべてのレコード) を保存、削除、または取得できます。
プロパティ値に基づいてレコードを取得しようとしています。(上記のカスタム クエリ)。これは動作しません。
列の値を渡して一致する行を取得できるMongoRepositoryでカスタムクエリを作成する方法を見つけるのを手伝ってくれる人がいますか?
編集:
コードの追加。
@Document/*(collection = "person")*/
public class Person {
@Id
private String id;
private String firstName;
private String lastName;
private Address address;
// gettters and setters
}
@Service
public class PersonServiceImpl{
@Autowired
private PersonRepository personRepository;
public Person findPersonByFirstName(String firstName) {
List<Person> person = personRepository.findAllByFirstName(firstName);
System.out.println("** Data Retrieved **" );
return person.get(0);
}
}