Der Fehler erhalte ich:Derby Boolean/Integer Umwandlung in JPQL
ERROR 42821: Columns of type 'BOOLEAN' cannot hold values of type 'INTEGER'.
Für die JPQL Abfrage:
SELECT b.id FROM Bar b WHERE b.latest = true
Offenbar weil Hibernate einen Booleschen Feld abbildet (dh „latest) auf eine ganze Zahl Spalte für JavaDB/Derby. Dies geschieht jedoch nur, wenn auf die Spalte in JPQL zugegriffen wird. Gleiches Ergebnis bei Verwendung der Kriterien-API.
Hibernate wurde auf org.hibernate.dialect.DerbyDi festgelegt alect und für den Fahrer org.apache.derby.jdbc.EmbeddedDriver.
Gleiches Ergebnis für andere Versionen des JDBC-Treibers.
Vermutlich besteht die Problemumgehung darin, die Spalte einem einzelnen Zeichen zuzuordnen, das "Y" und "N" enthält. Aber ich würde es lieber richtig machen.
Ist jemand auch auf dieses Problem gestoßen?
könnte sein, dass diese Änderung in [10.8.1.2] (https://db.apache.org/derby/releases/release-10.8.1.2.html#Overview) ist, was die aktuelle Version ist. – oers
Ich habe die letzten drei Versionen ausprobiert: 10.8.2.2, 10.8.1.2 und 10.7.1.1. Alles mit der eingebetteten Datenbank. –