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

Fejl i Spring Data JPA:Spring Data returnerer List i stedet for List

Dette er et problem med Spring data JPA. Hvis datatypen i DB er defineret som BigInteger og i JPA-forespørgslen forsøger vi at hente så Long, vil den ikke give nogen fejl, men den indstiller værdien som BigInteger i Long datatype.

Løsninger:

  1. Brug BigInteger som returtype

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

    sæt derefter variablen som nedenfor.
    Long variable = bigIntegerValue.longValue();

  2. Brug String som retur Indtast og konverter til Long

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

    Indstil derefter værdien som

    Long variable = Long.valueOf(stringValue);

  3. Skift DB-kolonnetype til heltal/tal.

  4. Få værdien fra Entity Objekt.

    Long variable = dpConfigData.getOid();

    hvor dpConfigData er objekt for Entity(DpConfigData.class)



  1. Topforespørgsler for at finde Patch anvendt i Oracle-apps

  2. Vælg og indsæt på tværs af flere databaser med MySQL

  3. PHP:Vis HTML, hvis der eksisterer en post, ellers vis intet

  4. Fang automatisk undtagelser for PDO i PHP