【发布时间】:2020-01-23 09:47:00
【问题描述】:
在 Spring Data JPA 中,我们可以定义一个扩展 Repository 的存储库接口并编写自定义方法。
如果该方法遵循特殊语法,Spring Data 会自动生成方法体。
例如(来自文档):
interface PersonRepository extends Repository<Person, Long> {
List<Person> findByLastname(String lastname);
}
有没有办法自定义方法生成代码以在语法中引入新的关键字?
例如:
Person findExactlyOneById(Long id);
此方法将返回实体或抛出自定义异常。
我知道我可以自定义特定的存储库以及基础存储库并实现上述示例的效果,但我特别要求自动生成正文的方法。
框架中是否设计了扩展点?还是只能更改源代码?
【问题讨论】:
-
你需要这个做什么?我看不到用例。
标签: java spring spring-data-jpa spring-data