有,指出在日誌中的錯誤:的Oracle 11g +休眠 - > ORA-01461:只能爲插入件結合的LONG值到LONG柱
ORA-01461:可結合的LONG值僅用於插入長列
真的沒有其他有用的信息。我試圖跟進代碼,google-d的問題,我想我可能已經找到了問題,但不幸的是我沒有Oracle數據庫或任何其他東西(即使代碼不存在於我,我正在寫這一切都從記憶和注意事項:() 所以我可以猜測基礎上的代碼(和大量的谷歌搜索的)的唯一事情是字符串映射爲VARCHAR2 一些環境信息:
Hibernate: 3.2.1.ga
Driver: ojdbc6-11.2.0.2.0.jar
Database: 11.2.0.2.0 - 64bit
表有多個varchar2(300字節)和一個varchar2(4000字節),可以調用最後一個TEXT。我檢查了實體,在它的列註釋中,這些字段對它的值有300字節限制,即使是TEXT(4000字節)字段!所以這是一個奇怪的觀點,我瘋狂的猜測是一個字符串出現了,大於300 BYTE,這是當試圖持久化(代碼試圖持久化該實體的實例的堆棧跟蹤點)時打印到日誌中的錯誤。可悲的是我只是有一個日誌去.. :(是我的猜想可能或它的將是別的東西
這裏的實體領域:??
@Column(name = "TEXT", nullable = false, length = varcharLength)
public String getText() {
return text;
}
下面是創建語句(基本反正部分):
CREATE TABLE "TABLENAME"
(
"ID" VARCHAR2(300 BYTE) NOT NULL ENABLE,
"VERSION" NUMBER(10,0),
"TEXT" VARCHAR2(4000 BYTE) NOT NULL ENABLE,
"PUBLISH_DATE" DATE NOT NULL ENABLE,
PRIMARY KEY ("ID")
);
(和表上PUBLISH_DATE索引,如果是相關的話)
向我們展示表的CREATE TABLE語句。 –
我將create table語句添加到問題中。 – Revolit
聽起來像是一個Hibernate bug /問題。你使用正確的休眠方言嗎? –