
Spring Data JPA 中 findById 和 getOne 的区别
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文探讨了在 Spring Data JPA 中使用 findById 和 getOne 方法获取实体对象时的区别和应用场景,帮助开发者更好地选择合适的方法。
`findById` 返回的是一个 `Optional`(JDK 1.8 的新特性之一),之后使用 `.get()` 方法就可以获取相应的对象;而 `getOne` 直接返回实体类的对象。如果在单元测试中需要使用此方法,必须加上事务支持注解即 `@Transactional` 才能正常使用。
从源码分析:
```java
public Optional findById(ID id) {
Assert.notNull(id, The given id must not be null!);
Class domainType = this.getDomainClass();
```
这段代码说明了在调用 `findById` 方法时,传入的 ID 不能为 `null`。同时获取实体类类型以进行后续处理。
全部评论 (0)
还没有任何评论哟~


