2

(spring-hibernate saveorupdate()) フィールドを保存できます

 @Lob
 @Column(name = "FILENAME")
 private String filename;

Oracle データベースへのデータ型は clob です

しかし、取得しようとするとエラーが発生します

エラー - JDBCExceptionReporter.logExceptions(72) | ORA-00932: 一貫性のないデータ型: 予期された - CLOB を取得しました

以下は、データベースから取得する方法です

DetachedCriteria crit = DetachedCriteria.forClass(Storagefile.class);
crit.addOrder(bSortOrder ? Order.asc(sortColumnId) : Order.desc(sortColumnId));
 List<Storagefile> result = (List<Storagefile>) getHibernateTemplate().findByCriteria(crit, nFirst, nPageSize);
4

2 に答える 2

6

サンプル コードからは明らかではありませんが、私の推測では、CLOB 列で並べ替えようとしており、Oracle はそれを許可していません。このエラー コードは、これを伝える Oracle の魅力的な方法です。

ファイル名を格納するために CLOB を使用する必要がありますか? Oracle は 1 つの列に最大 4000 文字を格納できますがVARCHAR2、ファイル名にはそれで十分でしょうか? で並べ替えたい場合はfilename、それが必要です。

于 2009-12-23T12:44:43.823 に答える
1

あなたはこれを通り抜けましたか:

https://www.hibernate.org/56.html

Oracle 9i ドライバーと LOB に問題があるようです (セットアップが不明です)。

于 2009-12-23T10:06:05.280 に答える