PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Bogue dans Spring Data JPA :Spring Data renvoie List au lieu de List

Il s'agit d'un problème avec les données Spring JPA. Si dans la base de données, le type de données est défini comme BigInteger et dans la requête JPA, nous essayons de récupérer comme Long, cela ne donnera aucune erreur, mais il définit la valeur comme BigInteger dans le type de données Long.

Solution :

  1. Utilisez BigInteger comme type de retour

    @Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();

    puis définissez la variable comme ci-dessous.
    Long variable = bigIntegerValue.longValue();

  2. Utiliser chaîne comme retour Tapez et convertissez en Long

    @Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();

    puis définissez la valeur sur

    Long variable = Long.valueOf(stringValue);

  3. Modifier le type de colonne de base de données à Entier/Nombre.

  4. Obtenir la valeur de Entity Objet.

    Long variable = dpConfigData.getOid();

    dpConfigData est l'objet de l'entité (DpConfigData.class)