Heim >Java >javaLernprogramm >Wie kann ich mit Hibernate PostgreSQL-Arrays Java-Arrays zuordnen?
Beim Versuch, eine numerische Array-Spalte in PostgreSQL mithilfe von Hibernate einem numerischen Array-Feld in Java zuzuordnen , kann eine Ausnahme auftreten.
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
1. Maven-Abhängigkeit hinzufügen
Fügen Sie in der pom.xml-Datei Ihres Projekts die folgende Maven-Abhängigkeit für Ruhezustandstypen hinzu:
<code class="xml"><dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>${hibernate-types.version}</version> </dependency></code>
2. Konfigurieren Sie Ruhezustandstypen
Aktivieren Sie in Ihrer Ruhezustandskonfiguration Ruhezustandstypen, indem Sie die folgenden TypeDefs hinzufügen:
<code class="java">@TypeDefs({ @TypeDef( name = "string-array", typeClass = StringArrayType.class ), @TypeDef( name = "int-array", typeClass = IntArrayType.class ) })</code>
3. Definieren Sie Ruhezustandstypen (optional)
Wenn die Klassen StringArrayType und IntArrayType nicht definiert sind, können Sie sie in eine Superklasse einschließen:
<code class="java">@MappedSuperclass public class BaseEntity { @Id private Long id; @Type(type = "string-array") private String[] stringArray; @Type(type = "int-array") private int[] intArray; // Getters and setters omitted for brevity }</code>
4. Ordnen Sie Ihre Entität zu
Beispielzuordnung:
<code class="java">@Entity(name = "Event") @Table(name = "event") public class Event extends BaseEntity { @Type(type = "string-array") private String[] sensorNames; @Type(type = "int-array") private int[] sensorValues; // Getters and setters omitted for brevity }</code>
Beispielabfrage
<code class="java">Event event = entityManager.find(Event.class, 1L); // Accessing the mapped array properties for (String sensorName : event.getSensorNames()) { System.out.println(sensorName); } for (int sensorValue : event.getSensorValues()) { System.out.println(sensorValue); }</code>
Das obige ist der detaillierte Inhalt vonWie kann ich mit Hibernate PostgreSQL-Arrays Java-Arrays zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!