Maison > Java > javaDidacticiel > le corps du texte

Comment mapper des tableaux PostgreSQL aux tableaux Java à l'aide d'Hibernate ?

Linda Hamilton
Libérer: 2024-10-25 00:31:02
original
450 Les gens l'ont consulté

How to Map PostgreSQL Arrays to Java Arrays Using Hibernate?

Mappage d'un tableau PostgreSQL à un tableau Java à l'aide d'Hibernate

Lorsque vous essayez de mapper un tableau numérique PostgreSQL à un tableau numérique en Java via Hibernate, vous pouvez rencontrer une exception. Cela peut être résolu en suivant ces étapes :

Dépendance Maven

Ajoutez la dépendance suivante au fichier de configuration pom.xml de votre projet :

<code class="xml"><dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-52</artifactId>
    <version>${hibernate-types.version}</version>
</dependency></code>
Copier après la connexion

Types Hibernate

Définissez des types Hibernate personnalisés pour les colonnes du tableau :

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

Mappage d'entités

Mappez les champs d'entité aux colonnes du tableau PostgreSQL à l'aide de ces types personnalisés :

<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>
Copier après la connexion

Exemple

Lors de l'insertion d'entités avec des valeurs de tableau, Hibernate générera des instructions SQL similaires à celles-ci :

<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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!