Ich benutze eine native Abfrage, um eine Liste von bigint
Nummern, die ich dann zu iterieren planen.Implizit Casting Bigint Postgres DatatyTe zu Java Long
@Query(value="SELECT bigint_field FROM complex_innerquery", nativeQuery=true)
Collection<Long> getAllBigIntFieldValues();
Wenn ich den langen Datentyp verwenden, wie oben gezeigt, wirft es die folgenden Fehler
java.math.BigInteger nicht java.lang.Long gegossen werden kann
Es scheint, Wie JPA konvertiert bigint standardmäßig aus der Datenbank in BigInteger.
BigInteger ist eindeutig ein riesiger Datentyp im Vergleich zu Long. Obwohl mein Feld während des Speicherns vom Typ Long in der definierten Entität ist, gibt es keine Möglichkeit, Daten zu verlieren, während BigInteger wieder in den Long-Wert konvertiert wird. Gibt es eine andere Möglichkeit, den BigInteger-Datentyp loszuwerden ? Genauer gesagt möchte ich nicht, dass die Methode getAllBigIntFieldValues
Methode explizit BigInteger zu LongValue aufrufen.
Für Begründung in * warum * das passiert, [diese Frage] (https://stackoverflow.com/q/27429422/1079354) bietet einige Einblicke. – Makoto