Heim >Java >javaLernprogramm >So ordnen Sie PostgreSQL-Arrays mit Hibernate Java-Arrays zu: Eine Anleitung zur numerischen Array-Zuordnung
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.
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>
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.
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>
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!