Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Hibernate和Oracle数据库存储JSON字段_Java_Json_Oracle_Hibernate_Blob - Fatal编程技术网

Java 使用Hibernate和Oracle数据库存储JSON字段

Java 使用Hibernate和Oracle数据库存储JSON字段,java,json,oracle,hibernate,blob,Java,Json,Oracle,Hibernate,Blob,我正在使用Hibernate和Spring Boot连接到Oracle数据库。 我的一个Java实体是一个包含Jackson JsonNode对象的类,我希望将其作为单个字段保存在数据库中。 Oracle建议将JSON存储为BLOB,但Hibernate似乎不知道默认情况下如何将JsonNode转换为BLOB。下面的实体类示例: @Entity public class MyEntity { @Id private Integer id; @Column(columnDef

我正在使用Hibernate和Spring Boot连接到Oracle数据库。 我的一个Java实体是一个包含Jackson JsonNode对象的类,我希望将其作为单个字段保存在数据库中。 Oracle建议将JSON存储为BLOB,但Hibernate似乎不知道默认情况下如何将JsonNode转换为BLOB。下面的实体类示例:

@Entity    
public class MyEntity {
  @Id
  private Integer id;

  @Column(columnDefinition = "blob")
  private JsonNode data;
}

你建议我如何让它工作?我假设我需要编写某种转换类来转换BLOB。

还没有测试,但假设它是您想要的解决方案
Vladmichalcea:hibernate-types-52:2.7.0

@Entity
@TypeDef(
     name = "json",
     typeClass = JsonBlobType.class
)

public class MyEntity {
    @Id
    private Integer id;

    @Type(type = "json")
    private JsonNode data;
}

Oracle建议在何处将其存储为BLOB?上次我检查时,建议将其存储为CLOB(包括检查约束
is json
)@a_horse_和_no_name-Oracle说,使用BLOB可以节省空间并避免字符集转换开销。在这种情况下,我会使用CLOB,但我觉得很有趣,谢谢。