当前位置: 首页 > 知识库问答 >
问题:

JOOQ记录缓存异常

尹承业
2023-03-14

我正在尝试使用redis缓存JOOQ记录结果。但同样是抛出以下错误:

org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.io.NotSerializableException: org.jooq.impl.Utils$Cache$Key

有什么建议可以解决这个问题吗?

共有1个答案

汤枫涟
2023-03-14

这似乎与https://github.com/jOOQ/jOOQ/issues/5290,这是jOOQ 3.8.1中的一个bug

我可以看到围绕这个问题的两种解决方法:

  • 在redis中序列化之前,您可以通过调用Record显式地“分离”记录。detach()

在这两种情况下,如果您希望从redis中检索一条记录并再次存储它,您将需要显式调用Record.attach(配置)

 类似资料:
  • Jooq生成器是否支持扩展提供给生成器的自定义类? 我想生成扩展自定义提供类的记录,该类将扩展TableRecordImpl。 我想进入继承链,其中UpdateableRecordImpl将扩展MyRecord,MyRecord将扩展TableRecordImpl?

  • 我尝试在项目中使用jooq,但出于性能原因,我希望缓存查询。在性能考虑部分的用户手册中,提到了查询缓存,但没有关于如何实现的示例。因此,我尝试按如下方式缓存查询(例如SimpleSelectConditionStep): 我的软件是一个多线程的web应用程序,但可以保证两个不同的线程不能同时使用相同的查询(池在再次放入池之前不会返回相同的查询)。 我知道比工厂不是一个线程安全的对象,但我想知道在代

  • 目前我正在从pojos列表映射到记录,我希望能够一次插入多行。我如何在JOOQ中用一个事务做到这一点? 我曾尝试将列表放入“值”中,但出现异常“值的数量必须与字段的数量匹配”

  • 问题内容: 现在在我的应用程序中,某些时候我们正在将一些繁重的工作记录到日志文件中。 基本上仅用于日志记录,我们先创建可用数据的JSON,然后登录到Log文件。这是以JSON格式记录数据的业务要求。 现在从可用数据创建JSON,然后登录到FILE需要花费大量时间,并影响原始请求的返回时间。现在的想法是改善环境。 我们讨论的一件事是使用以下方法创建线程池 在我们的代码中,然后向其提交任务,该任务会将

  • 我有几个JOOQ存储库,它们从Postgres数据库获取数据,并将数据作为值对象提供。我使用JOOQ 3.10.7和一切工作正常。我已经将我的Spring启动版本从2.0.3升级到2.1.4,这将JOOQ版本升级到3.11.10。在映射Jooq记录时,我开始获取NullPointerExcema。 在上述场景中,当没有与给定条件(user.id.eq(1))匹配的记录时,fetchSingle必须

  • 我正在尝试使用jooq使用batchStore插入记录。我需要知道如何在唯一约束上更新记录,目前它抛出一个异常,该记录已经存在 下面是代码 目前,它可以很好地插入记录,但当根据唯一约束发现重复记录时,它应该更新记录