【发布时间】:2025-12-02 02:45:02
【问题描述】:
在hibernate(3.2.1.GA)中,我使用以下方法将CLOB类型的数据插入到Oracle(10g)数据库中。
Hibernate.createClob(parameters.get("txtCatImage"));
parameters 是一个Map,其中存储了所有请求参数。在直接从数据库中检索Clob 数据类型时,类似entityObj.getCatImage() 的东西不起作用。
以下是使用Clob 类型属性的实体。
public class Category implements java.io.Serializable {
private Long catId; // Primary key.
private Clob catImage; // CLOB type field.
// Other fields.
private static final long serialVersionUID = 1L;
public Category() {}
// Overloaded constructs + getters + setters + hashcode() + equals() + toString().
}
在本例中,数据库中的Clob 字段只存储了一个图像文件名。
【问题讨论】:
-
定义“不起作用”。您收到错误还是返回
null? -
@Dev - 它没有给出任何错误。它只是用
obj.getCatImage().toString()或obj.getCatImage()显示类似org.hibernate.lob.SerializableClob@1e2ad75的对象引用,而不是显示作为Oracle 数据库中图像文件名的实际内容。 Oracle 提示符上的实际 SQL 如SELECT * FROM category但是直接在 Oracle 终端上显示实际内容。
标签: spring hibernate oracle10g clob