Ich versuche, Test DB von Oracle zu HSQLDB zu migrieren. In Oracle habe ich Felder mit dem Typ NUMERIC (x, 0). Wie ich NUMERIC Typ mit BigDecimal Java-Typ verbunden wissen. Und wenn ich meine Tests laufen und versuchen Datensatz zu speichern in DB ich folgende Fehlermeldung haben:ClassCastException beim Speichern von Datensatz in HSQLDB
Caused by: java.sql.SQLException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal
Wenn ich Art von NUMERIC ändern (x, 0) auf ganzzahlige es Arbeit richtig. Aber INTEGER-Typ unterstützt keine Genauigkeit und Skalierung in HSQLDB.
Gibt es die Möglichkeit, dieses Problem zu beheben?
AKTUALISIERT:
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
at org.javalite.activejdbc.DB.execInsert(DB.java:521)
at org.javalite.activejdbc.Model.insert(Model.java:2096)
at org.javalite.activejdbc.Model.save(Model.java:2008)
at org.javalite.activejdbc.Model.saveIt(Model.java:1935)
at org.javalite.activejdbc.Model.createIt(Model.java:1625)
Caused by: java.sql.SQLException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal
... 41 more
Ich verwende ActiveJDBC
public class Employee extends Model {...}
Employee e = (Employee) Employee.createIt("e_type", 1, "name", "Employee")
@ Nastya - Sie versuchen, Integer-Nummer in eine BigDecimal-Zahl zu konvertieren. Verwenden Sie BigDecimal statt Integer, um dies zu beheben. – kit
hier: http://database-management.softwareinsider.com/l/15/HSQLDB Sie können nachschlagen, welche Datentypen hsqldb unterstützt – XtremeBaumer
HSQLDB unterstützt NUMERIC. Fügen Sie Ihrer Frage den Code hinzu, den Sie verwenden, um das INTEGER und die oberen Zeilen aus der vollständigen Stapelüberwachung zu speichern. – fredt