当前位置: 首页 > 面试题库 >

在Oracle 10g中使用Hibernate将数据保存到Clob中

欧阳智志
2023-03-14
问题内容

java.sql.Clob在Hibernate中有一个带有列的表

hbm文件中:

<class name="com.model.ClobModel" table="table1">
   <id name="id" column="id">
      <generator class="assigned"></generator>
  </id> 
  <property name="clobData" type="clob">
      <column name="ClobData"></column>
  </property>

这是ClobModel

private Integer id;
public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

private Clob clobData;

public Clob getClobData() {
    return clobData;
}

public void setClobData(Clob clobData) {
    this.clobData = clobData;
}

当我在hibernate模式下尝试时:

SessionFactory sf = new Configuration().configure("clob.cfg.xml").buildSessionFactory();
    Session sess = sf.openSession();

    ClobModel cb = new  ClobModel();
    cb.setId(101);
    try {
                // getClobData() method returns String, trying to convert it into java.sql.Clob and then assign it to the model
                   cb.setClobData(new javax.sql.rowset.serial.SerialClob(new ClobInsert().getClobData().toCharArray()));
    } catch (SerialException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    sess.save(cb);
    sess.flush();
    System.out.println("Exit!!!");

我有一个例外:

javax.sql.rowset.serial.SerialClob cannot be cast to oracle.sql.CLOB

Clob上面提到的所有类型java.sql.Clob

不确定如何将转换Stringjava.sql.Clob


问题答案:

您需要将字段类型明确映射到java.sql.Clob

<property
    name="data"
    type="java.sql.Clob"
    update="true"
    insert="true"
    column="data"
/>


 类似资料:
  • 问题内容: 这个问题令我震惊。我已经创建了嵌套JSON一个POJO,我在获取数据对象,其中是一个具有两个元素。 这是MarketPrice POJO类,实际上我需要将其保存到表中。即,整个JSON对象。但是我有两个实体。这怎么可能? MarketPrice.java Items.java 这是我从控制器的服务器端获取的嵌套JSON数据: 中的JSON数据 Controller.java DAO.j

  • 问题内容: 我正在尝试将数据快速保存到plist文件中,但是读取plist时保存的数据没有显示出来。这是我正在使用的代码。 编辑:我听说做到这一点的最佳方法是写入documents目录,所以我的问题是我应该如何写入该目录中的文件? 问题答案: 显然该文件不在可写位置,因此我在documents目录中创建了该文件。 然后,必须从文档目录中读取它。

  • 问题内容: 环境 hibernate4.2 ojdbc6-Oracle 11.2.0.3.0 JDBC 4.0 Oracle数据库11g 问题 我们遵循了许多建议,以如下方式配置Hibernate批处理: 我们检查了日志,发现生成的SQL语句已批处理。但是,如果两个事务同时修改相同版本的实体行,则Hibernate将成功提交它们,导致最后提交的事务中的冲突更新丢失(两个事务中都保存了无冲突的数据,

  • 问题内容: 如何将表单数据保存在文件或本地db(也许使用AJAX)中,该文件或数据通过表单操作将数据发送到外部db? 我的表单的源代码在这里:http : //jsbin.com/ojUjEKa/1/edit 我应该对代码进行哪些更改(如果有)? 对。因此,我能够使用AJAX将数据存储到localStorage中,并希望将存储的数据发送到名为backend.php的文件中。这是我的html文件:

  • 问题内容: 我有一个Spark数据框,我试图将其推送到AWS Elasticsearch,但是在此之前,我正在测试此示例代码段以推送到ES, 我收到一个错误消息, java.lang.ClassNotFoundException:无法找到数据源:org.elasticsearch.spark.sql。 请在http://spark.apache.org/third-party- projects.