首頁  >  文章  >  Java  >  如何使用 Hibernate 將 PostgreSQL 陣列對應到 Java 陣列?

如何使用 Hibernate 將 PostgreSQL 陣列對應到 Java 陣列?

Linda Hamilton
Linda Hamilton原創
2024-10-25 00:31:02449瀏覽

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>

實體對映

使用這些自訂類型將實體欄位對應到PostSQL 陣列列:

使用這些自訂類型將實體欄位對應到PostSQL 陣列列:
<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 語句:

以上是如何使用 Hibernate 將 PostgreSQL 陣列對應到 Java 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn