在 Spring 5 JPA findOne() 中获取 `Long 无法转换为 Example`

2023-12-07

我得到一个argument mismatch; Long cannot be converted to Example<S>在下面代码中的 findOne 调用上:

public Optional<AuditEvent> find(Long id) {
    return Optional.ofNullable(persistenceAuditEventRepository.findOne(id))
        .map(auditEventConverter::convertToAuditEvent);
}

上面的代码正在转换为 Spring 5 和 Spring Boot 2。它在原始 Spring 4 和 Spring Boot 1 应用程序中运行良好。

我需要将上面的代码转换成什么想法吗?


作为 Spring 5 和 Spring data JPA 2.0.0.M3 的一部分,我可以看到findOne方法被删除Crud存储库到其中的一个通过示例查询执行器所以最好改为Optional<T> findById(ID arg0);代替findOne方法 如下请见 :

@NoRepositoryBean
public interface CrudRepository<T, ID> extends Repository<T, ID> {
    <S extends T> S save(S arg0);

    <S extends T> Iterable<S> saveAll(Iterable<S> arg0);

    Optional<T> findById(ID arg0);

    boolean existsById(ID arg0);

    Iterable<T> findAll();

    Iterable<T> findAllById(Iterable<ID> arg0);

    long count();

    void deleteById(ID arg0);

    void delete(T arg0);

    void deleteAll(Iterable<? extends T> arg0);

    void deleteAll();
}

通过示例查询执行器:

public abstract interface QueryByExampleExecutor<T> {
    public abstract <S extends T> S findOne(Example<S> paramExample);

    public abstract <S extends T> Iterable<S> findAll(Example<S> paramExample);

    public abstract <S extends T> Iterable<S> findAll(Example<S> paramExample, Sort paramSort);

    public abstract <S extends T> Page<S> findAll(Example<S> paramExample, Pageable paramPageable);

    public abstract <S extends T> long count(Example<S> paramExample);

    public abstract <S extends T> boolean exists(Example<S> paramExample);
}

检查 QueryForExampleExecutor 上的文档:

https://docs.spring.io/spring-data/jpa/docs/2.0.0.RC2/reference/html/

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

在 Spring 5 JPA findOne() 中获取 `Long 无法转换为 Example` 的相关文章

随机推荐

  • 遍历 NSDictionary 获取 null 值

    我有一个带有几个键的 NSDictionary 但它们在招聘方面有很多作用 例如 Person Gender Name Address 地点 所以你可以看看我是否将其插入 nsdictionary 中 最初我只有两个键 Person 和 L
  • 动态分配表变量?

    用 Lua 编写一个函数 创建两个表 我希望将表分配给添加 x 的值名称 以及添加 y 的值名称 例如 如果名称是 line 它将创建两个表 linex 和 liney 但我不知道该怎么做 以下显然不起作用 仅用于显示目的 但我将如何做到这
  • jQuery 和 setTimeout

    我有以下代码 jQuery document ready function setTimeout loading fadeIn slow 9999 它应该在 9999 毫秒后慢慢淡入加载元素 但它却立即淡入 为什么 任何人都可以帮忙 谢谢
  • 如何在 Eclipse 中编写 JavaScript

    我正在使用 eclipse 进行 java 编码 我可以在 Eclipse 中使用 JavaScript 吗 如果有 如何使用 请给出想法 我用的是优秀的阿普塔纳工作室 日食插件
  • python TypeError 并非所有参数在字符串格式化期间都被转换[重复]

    这个问题在这里已经有答案了 该程序的目的是通过检查该数字是否可以除以 2 而没有余数来查找字符串中的奇数 代码如下 def iq test numbers for x in numbers split if x 2 0 return x i
  • 将计算保存在代码或数据库中?

    我正在建立一个系统来进行各种计算原始数据 并根据计算提供输出 我的主要问题是更多建议而不是操作方法 使用MySQL数据库 以及php来访问 目前需要完成约 200 种不同的计算 但这些计算分为 4 种计算类型 ie one 计算类型是x除以
  • Rails - 具有定制框架的多租户应用程序

    我正在组织一个具有单个代码库 应用程序的多租户应用程序 使用子域来检测租户 然后在 postgres 上运行 SET SCHEMA 来完成有趣的事情 我的问题是 某些客户需要对主代码库进行不同级别的定制 虽然不是很多 但肯定足以让我不想通过
  • 使用 Rails 4 添加字段以设计注册

    首先 我对 Rails 还很陌生 所以我仍在掌握窍门 我正在尝试向 Devise 注册页面添加两个字段 名字字段和姓氏字段 为了尝试这个 我已经改变了视图和控制器 它们看起来像这样 控制器 class ApplicationControll
  • MIPS 组件,lui 0x1001

    我有一个作业 其中我必须解释有关以下 MIPS 汇编代码的一些内容 data x word 4711 y word 10 z word 0x0A91 e word 0 text globl main main lw 2 x lw 3 y l
  • 通过窗口名称访问窗口

    如果我使用打开一个窗口 window open myurl html windowname width 100 height 100 如何使用 窗口名称 引用新窗口 从打开它的同一页面 这个问题就是专门针对这个问题的 我知道我可以使用 va
  • 网络关闭时本地存储的上游数据不会在 JB 和 ICS 上的网络上发送(它们正在重新启动)

    这是我的场景 当网络中断时 GCM 客户端将设备到云的消息 上游 本地存储在本地队列中 其长度似乎为 20 尽管从未说明 当此队列已满时 消息将被本地丢弃 并且意图包含消息类型MESSAGE TYPE SEND ERROR 关于删除哪个 m
  • Sequelize 中的复数形式如何工作?

    使用时续集和阅读Sequelize 文档 我观察到有时型号名称使用单数 有时使用复数 有些通过关联自动添加到模型的方法具有单数形式 有些具有复数形式 1 Sequelize 如何计算复数 它只是在字符串后面附加一个 s 吗 2 如果我想使用
  • 使用 Google Caja 运行用户提供的 Javascript

    看来官方例子 use a caja js仅包含一个文件iframe从托管 caja 编译服务的服务器加载 URL 该服务又从某个 URL 获取输入 相关 API 可用here 然而 我真正想要的是安全地 并且重复地 运行用户提供的 Java
  • 如何实现 &Struct 的默认值?

    在多次阅读 Rust 书之后 我想我开始了解生命周期的要点 但对我来说 另一个问题是我们需要用来声明它们的语法 我发现这确实违反直觉 我将我的一段愚蠢的代码简化为这对结构 其中一个引用另一个 derive Debug Default pub
  • RemoteWebDriver 和 Grid - 是否可以获取服务器 IP?

    我使用 Selenium 2 和 Grid 中的 RemoteWebDriver 将测试划分到多个虚拟机上 假设我有两台 Linux 机器 在测试中我指定了在 Linux 机器上运行的功能 但我无法弄清楚正在使用这两台机器中的哪一台 有什么
  • SapUI5-平铺容器不工作

    由于某种原因 tilecontainer 无法工作 如果我放置一个列表而不是 Tiles 它工作正常 我正在尝试构建一个包含图块的简单应用程序 我是 SAPUI5 的新手 这是XML的代码
  • 如何从其父视图中删除带有圆角的 UIView?

    我正在为 3 2 及更高版本创建 iPad 应用程序 我的应用程序有一个覆盖视图 它具有半透明效果 使其下方的所有内容都变暗 在这个视图的中间 我在这个半透明的地方切了一个洞 让部分背景过滤器毫发无伤地通过 代码如下 void drawRe
  • 显示ArrayList的表

    我有一个main java有一个按钮 当您按下它时 它会调用一个方法并返回一个节点的 ArrayList 我想在表中显示 ArrayList Node 类中描述的 5 个字段 如何做到这一点 问题是显示一些列表类型的字段 Node java
  • Mercurial:检测到合并冲突时不会出现编辑器

    我想知道这里有人有在Ubuntu上运行mercurial的经验吗 我整个早上都在玩它 喜欢迄今为止所看到的一切 我遇到的一个问题是 当我进行合并并检测到冲突时 它不会自动在命令行编辑器中显示该文件以允许我解决冲突 它只是告诉我存在冲突 然后
  • 在 Spring 5 JPA findOne() 中获取 `Long 无法转换为 Example`

    我得到一个argument mismatch Long cannot be converted to Example
Powered by Hwhale