spring-data-jpa 如何在Mongo Spring Data JPA中编写自定义查询

83qze16e  于 2022-11-10  发布在  Spring
关注(0)|答案(1)|浏览(153)
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);

        }

我正在使用Spring Data JPA和MongoDB。我可以使用存储库保存、删除或检索(所有记录)。
我正在尝试根据属性值检索记录。(上面显示的自定义查询)。此操作无效。
有人能帮助我找到如何在MongoRepository中编写自定义查询吗?在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);
    }
}
bfnvny8b

bfnvny8b1#

对于此类查询,您不需要自定义查询。
以下内容应该可以正常工作(假设Person类中的字段是“firstname”--对吗?)

List<Person> findAllByFirstname(String firstname);

您的查询可以从mongo控制台运行吗?

相关问题