Hibernate를 통해 PostgreSQL 어레이를 Java 어레이에 매핑하는 것은 어려울 수 있습니다. 이 문서에서는 숫자 배열을 구체적으로 매핑하려고 할 때 직면하는 일반적인 어려움을 다룹니다.
다음 Hibernate 유형 Maven 종속성을 설정하는 것이 중요합니다.
<code class="xml"><dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>${hibernate-types.version}</version> </dependency></code>
PostgreSQL 배열을 매핑하려면 다음과 같은 사용자 정의 유형 정의가 필요합니다.
<code class="java">@TypeDefs({ @TypeDef( name = "string-array", typeClass = StringArrayType.class ), @TypeDef( name = "int-array", typeClass = IntArrayType.class ) })</code>
StringArrayType 및 IntArrayType 클래스는 Hibernate Types 프로젝트에서 제공됩니다.
예제 SQL 스키마를 따르면:
<code class="sql">CREATE TABLE sal_emp (name text, pay_by_quarter integer[]);</code>
해당 Java 클래스는 다음과 같습니다.
<code class="java">@Entity(name = "SalEmp") @Table(name = "sal_emp") public class SalEmp implements Serializable { private String name; @Type(type = "int-array") @Column(name = "pay_by_quarter") private Integer[] payByQuarter; // Getters and setters omitted for brevity }</code>
다음과 같은 엔터티를 삽입할 때:
<code class="java">SalEmp nullEmp = new SalEmp(); nullEmp.setName("Null Emp"); entityManager.persist(nullEmp); SalEmp salEmp = new SalEmp(); salEmp.setName("Regular Emp"); salEmp.setPayByQuarter(new Integer[] {1, 2, 3}); entityManager.persist(salEmp);</code>
Hibernate는 배열 삽입을 위해 적절한 SQL 문을 생성합니다.
위 내용은 Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법: 숫자 배열 매핑 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!