Spring Data JPA - 如何处理 Oracle JSON

Spring Data JPA - How to handle Oracle JSON

提问人:Matteo Rossi 提问时间:11/16/2023 更新时间:11/16/2023 访问量:15

问:

在将 java 端的实体属性映射到数据库端的列时,我们遇到了一些问题。处理本机 oracle JSON 列和 java 对象之间的映射的最有效方法是什么?我们需要使用 oracle 提供的本机操作来处理 JSON 对象

我们正在使用 Spring Boot 2.7.x 和 Oracle 21c 版本。这是我们的类和 pom.xml

   <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>17</java.version>
        <java.version.max>18</java.version.max>
        <org.springframework.boot.version>2.7.8</org.springframework.boot.version>
        <logback.version>0.1.5</logback.version>
        <org.projectlombok.version>1.18.22</org.projectlombok.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${org.springframework.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- Spring boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <scope>runtime</scope>
        </dependency>

  

        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${org.projectlombok.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- Logback -->
        <dependency>
            <groupId>ch.qos.logback.contrib</groupId>
            <artifactId>logback-json-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback.contrib</groupId>
            <artifactId>logback-jackson</artifactId>
            <version>${logback.version}</version>
        </dependency>
    </dependencies>


产品.java

@Entity
@Table(name = "product")
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    @Column(name = "externalId")
    private String externalId;

// JSON Oracle Type - How to handle it?
    @Column(name = "entity")
    private byte[] entity;
}

该列定义为“ENTITY”JSON

有什么建议吗?

Oracle 休眠 spring-data-jpa oracle21c

评论


答: 暂无答案