使用休眠和 Oracle 将 Clob 转换为字符串

Posted

技术标签:

【中文标题】使用休眠和 Oracle 将 Clob 转换为字符串【英文标题】:Clob to String using hibernate and Oracle 【发布时间】:2014-03-10 13:22:15 【问题描述】:

我在使用休眠模式从 oracle 数据库中读取数据时遇到了困难。该列是 clob 类型,映射类属性是 String 类型。数据库是Oracle 11G。我已尝试按照一些帖子的建议更新我的驱动程序,但这没有用。问题是所有其他列(不是 clob)都被正确读取,并且作为 clob 的列除了有数据之外返回 null。提前致谢。

查询是:

select id,about_us,other_details,periodicity,active,createts,updatets from Details where id = ?

这在 HQL 查询之上,其中 about_us 和 other_details 是数据库中的 clob 类型。 Java 实体将其作为 String 类型包含。

拉胡尔

【问题讨论】:

【参考方案1】:

我尝试了许多不同帖子中建议的解决方案,其中包括: 1) 更新 odbc jar。 2) 在休眠映射/实体中的属性上使用@lob

上述两种解决方案都不适合我,而是我使用休眠函数str(clob_property) 来读取它,它对我有用,我可以读取属性。

问候 拉胡尔

【讨论】:

【参考方案2】:

你尝试过这样的事情吗?

@Lob @Column(name = "long_text")
private String longText;

【讨论】:

是的,我尝试过使用@Lob 注释,但它没有喘息的机会。事实上,Hibernate 仅使用 @Column 注释来检测自己的底层列。

以上是关于使用休眠和 Oracle 将 Clob 转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

JAVA读取Oracle数据库Clob字段转换成String问题

oracle中如何将long型的数据转换为char型

将 CLOB 转换为 NUMBER 以进行比较 - Oracle

oracle中 怎么把字符串的数据insert 到 clob类型的字段中

oracle数据库CLOB类型怎么转换为String

oracle中怎样修改varchar2字段为clob字段