我正在使用 Hibernate 3.6.10 版本并在保存记录后尝试读取 Clob 数据类型(学生)。它抛出错误“无法重置阅读器”
public class Student implements java.io.Serializable {
private long studentId;
private String studentName;
private Address studentAddress;
private Clob searchProfileText;
测试时...首先我保存学生记录,然后尝试再次从该记录中获取 searchProfileText,如下所示
1 student1.setSearchProfileText(clob);
2 session.save(student1);
3 System.out.println("Reading Clob : " + student1.getSearchProfileText().getCharacterStream());
第 3 行,我收到以下异常
java.sql.SQLException: could not reset reader
at org.hibernate.engine.jdbc.ClobProxy.resetIfNeeded(ClobProxy.java:178)
我尝试session.flush();
然后使用以下代码重新加载数据,仍然是同样的错误:
session.flush();
session.get(Student.class, student1.getStudentId());
System.out.println("Reading Clob : " + student1.getSearchProfileText().getCharacterStream());
观察 2:
即使我使用 Hibernate 条件获取包含 CLOB 数据的记录并对 CLOB 列进行限制,在获取记录后我也无法访问 CLOB 数据。我认为,这是 3.6.10 Final 中的一个 BUG !!!
请帮助摆脱这个错误。我已经尝试了所有相关的主题,但还没有成功:(