Spring JPA数据,具有相同功能的多种方法

问题描述

我正在使用spring data jpa与数据库进行交互,但是遇到一个问题:我无法使用不同的命名实体多次定义相同的方法

考虑:

...

我想使用带有不同命名图的单独方法,但是在方法名称添加其他信息会破坏弹簧。该如何解决

解决方法

正如评论所建议的那样,正确命名方法不会“破坏Spring”。您可以拥有:

public interface Repository extends JpaRepository<UserEo,Long> {
    @EntityGraph(value = UserEo.FULL,type = EntityGraph.EntityGraphType.LOAD)
    public Optional<UserEo> findFullByEmail(String email);
    @EntityGraph(value = UserEo.BRIEF,type = EntityGraph.EntityGraphType.LOAD)
    public Optional<UserEo> findBriefByEmail(String email);
}

或者您可能想在两个存储库中分解内容,例如:

public interface RepositoryFull extends JpaRepository<UserEo,type = EntityGraph.EntityGraphType.LOAD)
    public Optional<UserEo> findByEmail(String email);
}

public interface RepositoryBrief extends JpaRepository<UserEo,Long> {
    @EntityGraph(value = UserEo.BRIEF,type = EntityGraph.EntityGraphType.LOAD)
    public Optional<UserEo> findByEmail(String email);
}