PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Bug in Spring Data JPA:Spring Data restituisce List invece di List

Questo è un problema con i dati Spring JPA. Se in DB il tipo di dati è definito come BigInteger e nella query JPA si tenta di recuperare come Long, non darà alcun errore, ma imposta il valore come BigInteger nel tipo di dati Long.

Soluzioni:

  1. Usa BigInteger come tipo di ritorno

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

    quindi imposta la variabile come di seguito.
    Long variable = bigIntegerValue.longValue();

  2. Usa Stringa come ritorno Digita e converti in Long

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

    quindi imposta il valore come

    Long variable = Long.valueOf(stringValue);

  3. Modifica il tipo di colonna DB a Intero/Numero.

  4. Ottieni il valore da Entità Oggetto.

    Long variable = dpConfigData.getOid();

    dove dpConfigData è oggetto di Entity(DpConfigData.class)