gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 07:43:50 26 4
gpt4 key购买 nike

例如,我们有一个 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 ...");

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

最佳答案

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

public interface UserRepository extends JpaRepository<User, Long> {
String QUERY_TEXT = "SELECT u FROM User u WHERE ...";

... some repository methods ...

@Query(QUERY_TEXT)
List<User> findUsersByCustomCriteria(String criteria);

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

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

关于java - 我可以为具有不同签名和返回类型的多个 JPA 存储库方法使用一个 @Query 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com