java - 使用 hibernate 标准查询 CLOB 列

标签 java sql oracle hibernate jakarta-ee

我有一张像这样的 table

Table Name: ITEMS
Columns :
Name          Type
ID            Number
Status        varchar2
data          clob

我有如下所示的 hibernate 映射

@Entity
@Table(name="ITEMS",
uniqueConstraints = {@UniqueConstraint(columnNames={"id"})})
public class HItem implements Serializable {
    private long id;
    private String status;
    private String dataJSON;

    @Column(name = "ID")
    public long getId() {
        return id;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
   @Column(name = "data")
    public String getDataJSON() {
        return dataJSON;
    }
}

我正在使用如下条件查询数据

List<HItem> items = helper.getSession().createCriteria(HItem.class)
                .add(Restrictions.eq("status", "A")).list();

由于表中有超过 1200 条匹配记录,因此会引发 JDBC 批量更新错误。 我怀疑这是由于大量 CLOB 数据造成的。

您能帮助我如何通过条件有效地获取 CLOB 数据吗?

最佳答案

请尝试使用@Lob注释。 请参阅此处:

Lob

关于java - 使用 hibernate 标准查询 CLOB 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177373/

相关文章:

java - 将 OraclePreparedStatement 与 DBCP 连接结合使用

oracle - 以下情况下 PLS_INTEGER 和 INTEGER 之间的区别

oracle - 子对象属性的订购

java - Gradle 无法在其他源集中找到测试

java - 为 Android 应用程序存储货币兑换数据

java - 即使该列存在,我也会收到未找到列的异常

mysql - 在插入查询中添加多个条件语句

sql - 何时使用 JOIN

java - java中MapReduce中大量全局变量的存储

SQL LEFT 外部联接只有来自右侧的一些行?