作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
我是一名优秀的程序员,十分优秀!