sql >> Databasteknik >  >> RDS >> PostgreSQL

Bugg in Spring Data JPA:Spring Data returnerar List istället för List

Det här är ett problem med Spring data JPA. Om i DB datatypen definieras som BigInteger och i JPA-frågan vi försöker hämta så Long kommer det inte att ge något fel, men det ställer in värdet som BigInteger i Long datatype.

Lösningar:

  1. Använd BigInteger som returtyp

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

    ställ sedan in variabeln enligt nedan.
    Long variable = bigIntegerValue.longValue();

  2. Använd String som retur Skriv och konvertera till Long

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

    ställ sedan in värdet som

    Long variable = Long.valueOf(stringValue);

  3. Ändra DB-kolumntyp till heltal/tal.

  4. Få värdet från Entity Objekt.

    Long variable = dpConfigData.getOid();

    där dpConfigData är objekt för Entity(DpConfigData.class)



  1. Varför sträng med enkla citattecken ger fel när den infogas i DB?

  2. Hur man lagrar array eller flera värden i en kolumn

  3. Konvertera kommaseparerade värden till rader i Oracle

  4. PYTHON:Uppdatera FLERA KOLUMNER med pythonvariabler