Heim  >  Artikel  >  Java  >  So ordnen Sie PostgreSQL-Arrays mit Hibernate Java-Arrays zu: Eine Anleitung zur numerischen Array-Zuordnung

So ordnen Sie PostgreSQL-Arrays mit Hibernate Java-Arrays zu: Eine Anleitung zur numerischen Array-Zuordnung

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 09:16:28225Durchsuche

How to Map PostgreSQL Arrays to Java Arrays with Hibernate: A Guide to Numeric Array Mapping

PostgreSQL-Arrays mit Hibernate zuordnen

Einführung

Das Zuordnen von PostgreSQL-Arrays zu Java-Arrays über Hibernate kann eine Herausforderung sein. In diesem Artikel werden die häufigsten Schwierigkeiten behandelt, die auftreten, wenn man versucht, numerische Arrays gezielt zuzuordnen.

Abhängigkeitskonfiguration

Das Einrichten der folgenden Maven-Abhängigkeit für Ruhezustandstypen ist von entscheidender Bedeutung:

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

Benutzerdefiniert Typdefinitionen

Benutzerdefinierte Typdefinitionen wie die folgenden sind erforderlich, um PostgreSQL-Arrays abzubilden:

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

Die Klassen StringArrayType und IntArrayType werden vom Hibernate Types-Projekt bereitgestellt.

Beispielzuordnung

Nach dem Beispiel-SQL-Schema:

<code class="sql">CREATE TABLE sal_emp (name text, pay_by_quarter integer[]);</code>

Eine entsprechende Java-Klasse würde so aussehen:

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

Entitäten einfügen

Beim Einfügen von Entitäten wie:

<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 generiert entsprechende SQL-Anweisungen für das Array-Einfügen.

Das obige ist der detaillierte Inhalt vonSo ordnen Sie PostgreSQL-Arrays mit Hibernate Java-Arrays zu: Eine Anleitung zur numerischen Array-Zuordnung. 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