Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑
문제
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>
- Hibernate 유형 정의 정의:
Java 클래스에서 매핑하는 데 사용할 사용자 정의 Hibernate 유형을 지정합니다. 배열:
<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 유형 생성(선택 사항):
StringArrayType 및 IntArrayType 클래스는 내장되어 있지 않습니다. 다음과 같이 생성해야 합니다:
<code class="java">@TypeDef( name = "string-array", typeClass = StringArrayType.class ) @TypeDef( name = "int-array", typeClass = IntArrayType.class )</code>
- 테스트:
배열 값이 있는 엔터티를 유지할 때 Hibernate는 다음과 같은 SQL 문을 생성합니다. 배열을 올바르게 매핑하세요.
예
다음 테이블 구조를 가정:
<code class="sql">CREATE TABLE event ( id int8 not null, version int4, sensor_names text[], sensor_values integer[], primary key (id) );</code>
다음 Java 클래스에 매핑할 수 있습니다:
<code class="java">@Entity(name = "Event") @Table(name = "event") public static class Event extends BaseEntity { @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; //Getters and setters omitted for brevity }</code>
배열 값이 있는 엔터티를 삽입하면 Hibernate는 다음과 같은 SQL 문을 생성합니다.
<code class="sql">INSERT INTO event ( version, sensor_names, sensor_values, id ) VALUES ( 0, {NULL}, {NULL}, 0 ); INSERT INTO event ( version, sensor_names, sensor_values, id ) VALUES ( 0, {"Temperature","Pressure"}, {"12","756"}, 1 );</code>
위 내용은 Hibernate를 사용하여 PostgreSQL 배열을 Java 배열에 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
