有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在oracle clob数据类型列中一次存储长度大于4000个字符的字符串?

我正在使用JPA,并试图用clob数据类型在oracle数据库列中存储大于4000个字符的值。但不能说一次可以存储4000个字符。在clob数据类型列中,有4GB的限制,但我们一次只能插入4000个字符。 我已经看到了一些解决方案,我们可以使用_char()函数,但没有找到任何解决方案如何与JPA一起使用它

当我与JPA合作时,如何存储这样的值


共 (2) 个答案

  1. # 1 楼答案

    尝试在列描述中使用@Lob注释。 例如:

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

    此外,请检查此字段是否有长度限制

  2. # 2 楼答案

    要插入CLOB,不能仅仅依靠字符串连接。首先需要将CLOB分配给PL/SQL变量,然后插入变量

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