>Java >java지도 시간 >Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법은 무엇입니까?

Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-25 00:31:02539검색

How to Map PostgreSQL Arrays to Java Arrays Using Hibernate?

Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑

Hibernate를 통해 PostgreSQL 숫자 배열을 Java의 숫자 배열에 매핑하려고 하면 예외가 발생할 수 있습니다. 이 문제는 다음 단계에 따라 해결할 수 있습니다.

Maven 종속성

프로젝트의 pom.xml 구성 파일에 다음 종속성을 추가합니다:

<code class="xml"><dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-52</artifactId>
    <version>${hibernate-types.version}</version>
</dependency></code>

Hibernate 유형

배열 열에 대한 사용자 정의 Hibernate 유형 정의:

<code class="java">@TypeDefs({
    @TypeDef(
        name = "string-array", 
        typeClass = StringArrayType.class
    ),
    @TypeDef(
        name = "int-array", 
        typeClass = IntArrayType.class
    )
})</code>

엔티티 매핑

다음 사용자 정의 유형을 사용하여 엔터티 필드를 PostgreSQL 배열 열에 매핑:

<code class="java">@Type( type = "string-array" )
@Column(
    name = "sensor_names", 
    columnDefinition = "text[]"
)
private String[] sensorNames;

@Type( type = "int-array" )
@Column(
    name = "sensor_values", 
    columnDefinition = "integer[]"
)
private int[] sensorValues;</code>

배열 값이 있는 엔터티를 삽입할 때 Hibernate는 다음과 유사한 SQL 문을 생성합니다.

<code class="sql">INSERT INTO event (
    version, 
    sensor_names, 
    sensor_values, 
    id
) 
VALUES (
    0, 
    {&quot;Temperature&quot;,&quot;Pressure&quot;}, 
    {&quot;12&quot;,&quot;756&quot;}, 
    1
)</code>

위 내용은 Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.