Heim  >  Artikel  >  Java  >  Wie ordne ich PostgreSQL-Arrays mithilfe von Hibernate Java-Arrays zu?

Wie ordne ich PostgreSQL-Arrays mithilfe von Hibernate Java-Arrays zu?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 00:31:02449Durchsuche

How to Map PostgreSQL Arrays to Java Arrays Using Hibernate?

PostgreSQL-Array mithilfe von Hibernate einem Java-Array zuordnen

Beim Versuch, ein numerisches PostgreSQL-Array über Hibernate einem numerischen Array in Java zuzuordnen, kann es zu einer Ausnahme kommen. Dies kann durch die folgenden Schritte behoben werden:

Maven-Abhängigkeit

Fügen Sie die folgende Abhängigkeit zur pom.xml-Konfigurationsdatei Ihres Projekts hinzu:

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

Ruhezustandstypen

Definieren Sie benutzerdefinierte Hibernate-Typen für die Array-Spalten:

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

Entitätszuordnung

Ordnen Sie die Entitätsfelder mithilfe dieser benutzerdefinierten Typen den PostgreSQL-Array-Spalten zu:

<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>

Beispiel

Beim Einfügen von Entitäten mit Array-Werten generiert Hibernate SQL-Anweisungen ähnlich der folgenden:

<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>

Das obige ist der detaillierte Inhalt vonWie ordne ich PostgreSQL-Arrays mithilfe von Hibernate Java-Arrays zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn