Maison >Java >javaDidacticiel >Comment puis-je mapper des tableaux PostgreSQL vers des tableaux Java avec Hibernate ?
Lors de la tentative de mappage d'une colonne de tableau numérique dans PostgreSQL à un champ de tableau numérique en Java à l'aide d'Hibernate , une exception peut se produire.
Pour résoudre ce problème, suivez ces étapes :
1. Ajouter une dépendance Maven
Dans le fichier pom.xml de votre projet, ajoutez la dépendance Maven Hibernate Types suivante :
<code class="xml"><dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>${hibernate-types.version}</version> </dependency></code>
2. Configurer les types Hibernate
Dans votre configuration Hibernate, activez les types Hibernate en ajoutant les TypeDefs suivants :
<code class="java">@TypeDefs({ @TypeDef( name = "string-array", typeClass = StringArrayType.class ), @TypeDef( name = "int-array", typeClass = IntArrayType.class ) })</code>
3. Définir les types Hibernate (Facultatif)
Si les classes StringArrayType et IntArrayType ne sont pas définies, vous pouvez les inclure dans une superclasse :
<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. Mappez votre entité
Exemple de mappage :
<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>
Exemple de requête
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!