spring-data - 如何缩短 Spring Data JPA Repositories 中查询方法的名称?

标签 spring-data spring-data-jpa

考虑一个 Spring Data Jpa 存储库:

public interface UserRepository extends JpaRepository<User, Long> {

    User findOneByDeletedIsFalseAndActivationKey(String activationKey);

    List<User> findAllByDeletedIsFalseAndActivatedIsFalseAndCreatedDateBefore(DateTime dateTime);

    User findOneByDeletedIsFalseAndLogin(String login);

    User findOneByDeletedIsFalseAndEmail(String email);

}

注意每个方法中都有“DeletedIsFalse”。有没有一种简单的方法可以缩短方法名称?比如:
@FullMethodName("findOneByDeletedIsFalseAndEmail")
User findOneByEmail(String email);

最佳答案

使用 default用于包装的 Java 8 功能,就像这样:

// use findOneByEmail instead
User findOneByDeletedIsFalseAndEmail(String email);

default User findOneByEmail(String email) {
    return findOneByDeletedIsFalseAndEmail(email);
}

an example .

关于spring-data - 如何缩短 Spring Data JPA Repositories 中查询方法的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019408/

相关文章:

java - Spring Data JPA 通过查询从实体获取投影

elasticsearch - 来自外部文件的Spring Data Elastic命名查询

java - 使用 Spring Data/JPA/Hibernate 和分离实体测试保存调用

java - 使用 native 查询但保持数据库独立性

java - 如何在 Spring Data 中使用自定义数据库方言?

java - Spring 数据。存储库返回错误的Id(实体数据正确)

java - 带有 OneToMany 的 Spring Data Projection 返回太多结果

java - 我应该如何在 spring 数据存储库上使用@Cacheable

spring - 为什么在使用 Spring Boot 时我需要实体可序列化?

java - 如何在 Spring Boot 中为不同的数据源配置 JPA 存储库?