cdx*_*dxf 1 spring spring-data spring-data-jpa
在我的存储库中,我需要将 Projection 用于 findById 方法:
@Repository
public interface ForumRepository extends CrudRepository<Forum,Integer> {
ForumDTO findById(Integer id);
}
Run Code Online (Sandbox Code Playgroud)
但是由于 findByID 已经存在于 CrudRepository 中,所以我不能用不同的返回类型覆盖它,还有其他方法可以存档吗?
我刚刚发现我不需要覆盖它,因为我可以使用getBy代替findBy:
public interface ForumRepository extends CrudRepository<Forum,Integer> {
ForumDTO getById(Integer id);
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以概括该方法并传入 dto 类。
<T> T findById(Integer id, Class<T> type);
Run Code Online (Sandbox Code Playgroud)
这也适用于可选。
<T> Optional<T> findById(String id, Class<T> type);
Run Code Online (Sandbox Code Playgroud)
为了使用它,您必须传入您想要返回的类型。
ForumDTO forum = forumRepo.findById(378583, ForumDTO.class);
Run Code Online (Sandbox Code Playgroud)
来源:https ://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projection.dynamic
| 归档时间: |
|
| 查看次数: |
3630 次 |
| 最近记录: |