我可以为具有不同签名和返回类型的多个JPA存储库方法提供一个@Query吗?

时间:2015-12-11 13:54:58

标签: java jpa spring-data

例如,我们有一个JPA存储库,其中包含三种方法,用于查找完全相同的数据库选择,但以不同的形式呈现它:

public interface UserRepository extends JpaRepository<User, Long> {

   ... some repository methods ...

   List<User> findUsersByCustomCriteria(String criteria);

   Set<User> findUsersByCustomCriteria(String criteria, Sort sort);

   Page<User> findUsersByCustomCriteria(String criteria, Pageable pageable);
}

和查询

@Query("SELECT u FROM User u WHERE ...");

是否有一种简单的方法可以避免重复相同的查询3次,除了@NamedQuery类中的User

1 个答案:

答案 0 :(得分:1)

嗯,我意识到可以将查询声明为String。但仍然欢迎更优雅的方式建议,可能是我遗失了一些东西。

<Value Profile="(Default)">Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\MyFilePath\MyDBFile.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework</Value>