Hibernate를 통해 PostgreSQL 숫자 배열을 Java의 숫자 배열에 매핑하려고 하면 예외가 발생할 수 있습니다. 이 문제는 다음 단계에 따라 해결할 수 있습니다.
프로젝트의 pom.xml 구성 파일에 다음 종속성을 추가합니다:
<code class="xml"><dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>${hibernate-types.version}</version> </dependency></code>
배열 열에 대한 사용자 정의 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, {"Temperature","Pressure"}, {"12","756"}, 1 )</code>
위 내용은 Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!