0
我正在使用具有CLOB列的表(Oracle)。我正在使用Hibernate來查詢表格。這裏是一個快速瀏覽一下班,我使用映射Oracle表:如何獲得Java/Hibernate中CLOB的長度
@Entity
@Table(name="D2D_OPD_ORDERDELIVERY")
public class D2dOpdOrderDelivery implements Serializable {
// other column mappings omitted for brevity
@Column(name="POD_SIGNATURE_IMG", nullable=true)
@Lob
private Clob podSignatureImage;
我已經成功地設法運行的Hibernate查詢,從數據庫返回單行:
// Create a Hibernate query (HQL)
Query query = session.createQuery("FROM D2dOpdOrderDelivery WHERE orderNumber = :orderNumber");
query.setParameter("orderNumber", orderNumber);
在我的代碼中的其他地方,我對我的Clob執行空檢查 - 它不是null。接下來,我嘗試獲取我的Clob的長度。這是我遇到問題的地方。我收到以下錯誤:
java.sql.SQLException: Closed Connection
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:147)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:209)
oracle.sql.CLOB.getDBAccess(CLOB.java:1212)
oracle.sql.CLOB.length(CLOB.java:223)
對不起,我只是不明白爲什麼我得到這個錯誤。我已經運行了我的查詢(行中的所有其他字段都存在)。爲什麼我無法獲得CLOB的長度?
有人可以指出我出錯的地方嗎?
謝謝。