2016-04-25 733 views
0

我正在使用JPA並嘗試在數據類型爲clob的oracle數據庫列中存儲大於4000個字符的值。但它不能說商店可以一次存儲4000個字符。在clob數據類型列中,限制爲4GB,但我們一次只能插入4000個字符。 我見過一些解決方案,我們可以使用to_char()函數,但沒有找到任何解決方案如何與JPA一起使用它?如何在Oracle clob數據類型列中一次存儲大於4000個字符的字符串長度?

如何在使用JPA時存儲此類值?

+1

在MS SQL 2005中有同樣的問題。我不得不將'length = 10000'明確地放在註釋聲明中。沒有別的幫助。 – soufrk

+0

爲了更加準確:Oracle中LOB的*最小*限制爲4GB,但取決於塊和塊大小(最高可達128TB),它可能更大。 –

回答

0

嘗試在列描述中使用@Lob註釋。 例如:

@Entity 
@Table(name="TBL") 
public class Tbl { 
@Id 
@Column(name = "TBL_ID") 
private long id;  
@Lob 
private byte[] addinfo; 

此外,檢查是否有可能在這一領域

+1

答案應該是更詳細的做什麼和最簡單的解釋,這應該是一個評論,因爲它只是一個_「這樣做,因爲我不能詳細介紹」_。 –

0

長度限制要插入你不能依賴於簡單的字符串連接一個CLOB。您需要首先將CLOB分配給PL/SQL變量,然後插入該變量。

DECLARE 
l_clob; 
BEGIN 
l_clob := @my_clob_string; 
INSERT INTO (my_clob_column) VALUES (l_clob); 
END; 
/
相關問題