gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 07:59:52 25 4
gpt4 key购买 nike

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);
}
}

最佳答案

对于这种查询,您不需要自定义查询。

以下应该可以正常工作(前提是您在 Person 类中的字段是“firstname”——对吗?)

List<Person> findAllByFirstname(String firstname);

您的查询是否在 mongo 控制台中有效?

关于spring - 如何在 Mongo Spring Data JPA 中编写自定义查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com