2016-04-25 22 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アノテーションを列の説明で使用してください。たとえば :あなたは、単に文字列の連結に依存することはできませんCLOBを挿入するには、このフィールドの長さ制限

+1

答えは、何をすべきかと最小限の説明でより詳細なものでなければなりません。これはコメントでなければなりません。 –

0

があることができれば

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

また、確認してください。最初にCLOBをPL/SQL変数に割り当ててから、変数を挿入する必要があります。

DECLARE 
l_clob; 
BEGIN 
l_clob := @my_clob_string; 
INSERT INTO (my_clob_column) VALUES (l_clob); 
END; 
/
関連する問題