如何向 Spring Data JPA 添加自定义方法

2023-12-30

我正在研究 Spring Data JPA。考虑下面的示例,其中我将使所有 CRUD 和查找器功能默认工作,如果我想自定义查找器,那么也可以在界面本身中轻松完成。

@Transactional(readOnly = true)
public interface AccountRepository extends JpaRepository<Account, Long> {

  @Query("<JPQ statement here>")
  List<Account> findByCustomer(Customer customer);
}

我想知道如何为上述 AccountRepository 添加完整的自定义方法及其实现?由于它是一个接口,我无法在那里实现该方法。


您需要为自定义方法创建一个单独的接口:

public interface AccountRepository 
    extends JpaRepository<Account, Long>, AccountRepositoryCustom { ... }

public interface AccountRepositoryCustom {
    public void customMethod();
}

并为该接口提供一个实现类:

public class AccountRepositoryImpl implements AccountRepositoryCustom {

    @Autowired
    @Lazy
    AccountRepository accountRepository;  /* Optional - if you need it */

    public void customMethod() { ... }
}

也可以看看:

  • 4.6 Spring数据存储库的自定义实现 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.custom-implementations

  • 请注意,不同版本之间的命名方案已发生变化。看https://stackoverflow.com/a/52624752/66686 https://stackoverflow.com/a/52624752/66686了解详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 Spring Data JPA 添加自定义方法 的相关文章

  • 使用 Maven 生成 Eclipse 项目文件

    当我尝试使用生成 Eclipse 项目文件时mvn eclipse eclipse我收到以下错误 插件管理器执行目标时出现内部错误 org apache maven plugins maven eclipse plugin 2 9 SNAP
  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • Java“空白最终字段可能尚未初始化”方法中抛出异常

    我有一些代码 例如 final int var1 if isSomethingTrue var1 123 else throwErrorMethod int var2 var1 throwErrorMethod 的定义如下 private
  • Glassfish:在部署期间修改 EAR 的部署描述符

    经过几天的搜索 尝试和摇头 我将这个问题发布到 SO 尽管它seems已经得到答复 这是场景 我有一个 EAR 应用程序 目前 包含一个 WAR 和一个 EJB 模块 EJB 模块使用 JPA persistence xml 并且一些无状态
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 我需要一个字数统计程序[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要弄清
  • spring mvc 跟踪引用页面

    在基于注释的弹簧控制器中 如果用户正在url com first page并点击一个链接或提交一份表格指出url com second page 如何制作second page知道url of first page所以这样second pa
  • vm 参数中的 -D 是什么,它表示为什么我们必须在 vm 参数中始终指定 -D

    vm 参数中的 D 是什么 它表示为什么我们必须在 vm 参数中始终指定 D 有什么标准吗 如果是 那是什么以及指定的位置 D 设置当前运行的 java 程序可以访问的属性值 它允许程序员设置程序运行所需的值 但程序不知道这些值是什么 因此
  • 两条腿的 OAuth 和 Gmail Atom feed

    我们正在尝试让 2 legged OAuth 与 Gmail Atom feed 一起使用 我们使用 John Kristian Praveen Alavilli 和 Dirk Ba lfanz 贡献的 Java 库 http oauth
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • 如何在Java中模拟引用传递?

    我是一个十足的 Java 菜鸟 我知道 Java 将所有参数视为按值传递 并且还有其他几个线程人们对此进行了解释 例如 在 C 中我可以这样做 void makeAThree int n n 3 int main int myInt 4 m
  • 如何列出hadoop hdfs中目录及其子目录中的所有文件

    我在 hdfs 中有一个文件夹 其中有两个子文件夹 每个子文件夹大约有 30 个子文件夹 最后 每个子文件夹都包含 xml 文件 我想列出所有 xml 文件 仅给出主文件夹的路径 在本地我可以这样做apache commons io 的 h
  • Java 验证日期为 yyyyMMddHHmmss

    我想在java中验证给定的日期格式为yyyyMMddHHmmss 状况 应符合格式 yyyyMMddHHmmss 它应该验证当前日期 它应该验证与当前小时有 3 小时或 3 小时差异的小时数 如果满足所有三个条件 Java 方法应返回 tr
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • Lucene/Hibernate 搜索锁定异常

    我使用 Hibernate Search 在 Web 应用程序上索引和全文搜索项目 没有问题 来自我的 pom xml
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException
  • 获取Java中ResultSet返回的行数

    我用过一个ResultSet返回一定数量的行 我的代码是这样的 ResultSet res getData if res next System out println No Data Found while res next code t

随机推荐

  • jQuery 数据表向 tr 添加类

    我正在使用 jQuery 和数据表 我想向特定行的 TR 元素添加一个类 我知道如何找到该行 这console dir row 显示了row对象并且以 a 开头tr元素 但我无法让 jQuery 选择器执行任何操作 我缺少什么 table
  • 在 Ember.js 中使用 HTML 锚点

    在我的 Ember 应用程序中 如何跳转到 Handlebars 模板之一内的 HTML 锚点 我创建了一个 jsFiddle 来显示我想要完成的任务 http jsfiddle net Abdull KUkd6 背景Ember 的应用程序
  • 了解 YouTube 视频何时开始从 UIWebView 中播放

    我制作了一个播放 YouTube 视频的课程 感谢本网站好心人的帮助 现在我想知道如何知道 YouTube 视频何时开始播放 我想知道这一点 以便我可以在被告知要播放的视频和实际播放的视频之间显示 请稍候 正在加载 指示器 我使用开始播放视
  • 如何在没有 nuget 或 VSIX 的情况下将自定义代码分析器添加到项目中?

    我想在 Visual Studio 2015 中为 C ConsoleApplication 编写自定义代码分析器 因此 我不想从模板创建单独的 带有代码修复的分析器 项目 因为这需要将此分析器作为 nuget 包添加到我的项目中 Is i
  • 如何使用详细视图类限制对对象的访问

    我试图将显示对象限制为创建它的用户 是使用对象模型中的外键完成的吗 前任 用户1可以访问对象1 用户2可以访问对象2 此时 任何用户只需输入该对象的正确 URL 即可访问该对象 文件views py from django shortcut
  • 尝试重新启动线程时发生 ThreadStateException

    尝试重新启动线程时 我有时会收到 System Threading ThreadStateException 有问题的代码如下 Make sure the thread is done stopping while this mThread
  • 标记非数据库字段 @Transient 与范围 JPA 实体?

    我们有一个JPA Entity 一旦实体持久保存在数据库中 该实体的某些字段 数据库列 以及其他一些数据 不属于该实体的一部分 就必须存储在 JCR 对象存储中 我是否应该为 DB 和 JCR 创建一个实体 JPA 然后在实体中添加 JCR
  • jsf中#{expr}和${expr}有什么区别?在某些情况下我们应该更喜欢 ${expr} 吗? [复制]

    这个问题在这里已经有答案了 我前一段时间读过有关 Core JSF 的差异的内容 但现在我找不到那个地方 不过 我不记得有一句话提到我们应该在 jsf 中使用 expr 的情况 所以我只是好奇有什么区别 举个栗子 以及是否有在 JSF 应用
  • 使用自定义 Python 脚本在 Ansible Tower 中自定义凭据

    我正在尝试在 Ansible Tower 中实现自定义脚本来动态导入库存 自定义脚本基本上是使用 Python 编写的 并与充当域控制器 DC 的 Windows 2012 Server 进行交互 当从 Ansible Tower 执行脚本
  • 如何在 jquery 中使用克隆复制表行并为控件创建新的唯一 ID

    如何在 jquery 中使用克隆复制表行并为控件创建新的唯一 ID 克隆实际上也会复制数据 我不希望复制数据 表行包含以下信息 tr td td tr
  • MVC 控制器被调用两次

    我有一个控制器从 ActionLink 调用中被调用两次 我的主页有一个链接 单击该链接会调用 Play 控制器上的 Index 方法 id 100 被传递到该方法中 我认为这就是导致问题的原因 下面详细介绍这一点 以下是一些代码片段 主页
  • DDD 中的应用程序级别设置?

    只是想了解小组对如何处理实体的配置细节的想法 我具体想到的是可能由管理员更改的高级设置 您最终可能会存储在应用程序或 web config 中 但从 DDD 角度来看 应该在对象中的某个位置显式设置 为了方便讨论 我们以基于 Web 的 C
  • 如何处理XHR错误显示消息?

    我正在尝试使用 XHR 从另一个来源获取一些内容 如下所示 function fetchPage str if str document getElementById table innerHTML resetFilters progres
  • Docker运行桌面环境

    这个问题最清楚了如何在Docker中启动完整的桌面环境 KDE XFCE Gnome无所谓 remote容器 我在互联网上挖掘there https stackoverflow com questions 16296753 can you
  • 找到可能的最低分数

    问题陈述 我们得到三个数组A1 A2 A3长度n1 n2 n3 每个数组包含一些 或不包含 自然数 即 gt 0 这些数字表示程序执行时间 任务是从任何数组中选择第一个元素 然后您可以执行该程序并将其从该数组中删除 例如 if A1 3 2
  • REST API 是否有任何命名约定指南? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建 REST API 时 API 内的命名约定是否有任何指导原则或事实上的标准 例如 URL 端点路径组件 查询字符串参数 驼峰大写字母是常态
  • Elasticsearch 滚动不工作

    我正在运行以下 elasticsearch 聚合查询 curl XPOST http localhost 9200 ae2015 search scroll 1m d size 0 query constant score filter g
  • 如何捕获 if 语句中的错误

    运行以下代码 bin bash set o pipefail set o errtrace set o nounset set o errexit function err handler local error code echo TRA
  • 在 Access 中修改链接表定义

    最近有一个新的MS Access 中的错误 https social msdn microsoft com Forums office en US abd458eb bf5b 4a89 b831 3d90e7e5d266 the 1912
  • 如何向 Spring Data JPA 添加自定义方法

    我正在研究 Spring Data JPA 考虑下面的示例 其中我将使所有 CRUD 和查找器功能默认工作 如果我想自定义查找器 那么也可以在界面本身中轻松完成 Transactional readOnly true public inte