求你了,帮我弄点奇怪的东西。
昨天在代码和数据库没有任何更改的情况下,我在尝试调用端点时出错:
hibernate.HibernateException:无法访问lob流。
在项目中:
冬眠5.3.10.决赛
Spring jdbc v.5.1.8.发行版
PostgreSQL JDBC驱动程序-JDBC 4.2
42.2.5条
邮政信箱DB-9.6
这样的实体:

@Lob
@Column(nullable = true)
@Basic(fetch = FetchType.EAGER)
private String payload;

我在hibernate日志中发现,在提取CLOB时,o.h.t.descriptor.sql.BasicExtractor可能存在问题。最奇怪的是在dev阶段所有的工作都是正确的,但是在dev阶段我们有postgres 10.1。
我试过:
添加了@Type(Type=“text”)-主要问题已经解决,但我得到了
CLOB中的CLOB id而不是真实信息;
添加到@Column()
columnDefinition=TEXT/CLOB-不起作用;
添加了@Type(Type=“materialized\u clob”)或@Type(Type=“clob”)——不起作用;
从使用此实体的方法中移除@Transactional-不起作用;
在开发阶段,我在日志中看到:
TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([payload4_0_1_] : [CLOB]) - [{"adId":2,"syncStatus":2,"syncErrorCode":0,"syncErrorText":"","crdate":"Sep 25, 2017, 7:16:25 PM","upddate":"Aug 28, 2019, 2:19:00 PM"}]

在另一个阶段,我看到如果CLOB为空-它工作,如果不是空-我会得到一个错误。
我希望有人能帮助我,如果信息不够,我准备提供额外的信息。
提前谢谢!

最佳答案

我找到了可能的根本原因:数据库中发生了一些事情,CLOB被删除,只有关系ID留在数据库中。
对于前面的行,我在CLOB字段中得到了2341535,用于当前的真实json对象。

关于java - org.hibernate.HibernateException:无法访问lob流Postgresql 9.6,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58970437/

10-15 20:45