Ich bekomme immer eine ORA-01438 Errormeldung wenn ich versucht einen Satz zu inserten! Ich habe hierbei 2 double Felder welche bspw folgenden Inhalt besitzen:
Da meine Tabellenspalten aber eh 5 Nachkommastellen fassen können verstehe ich hierbei das Problem nicht, oder versucht Hibernate diese Zahl als "1.9E-4" zu inserten und nicht als 1,00009 ?
Fehlermeldung:
tabellenstruktur:
mapping:
insert:
**EDIT**
Ich bekomme die Fehlermeldung auch, wenn ich für die beiden double werte schlicht 1 setze.
Code:
1.9E-4
Fehlermeldung:
Code:
Caused by: java.sql.BatchUpdateException: ORA-01438: Wert größer als die angegebene Gesamststellenzahl, die für diese Spalte zulässig ist
tabellenstruktur:
Code:
CREATE TABLE GPS_TOURS (
GT_ID NUMBER(25,0) CONSTRAINT pk_gps_tour PRIMARY KEY,
GT_TOUR_ID NUMBER(25,0),
GT_TOUR_DESCRIPTION VARCHAR2(50),
GT_START TIMESTAMP,
GT_END TIMESTAMP,
GT_DISTANCE NUMBER(5, 5),
GT_AVERAGE_SPEED NUMBER(3,5),
GT_GEOM MDSYS.SDO_GEOMETRY
);
mapping:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="at.pcd.wam.technologie.persistence.model">
<class name="at.pcd.wam.technologie.persistence.model.GPSToursModel"
table="gps_tours">
<!-- primary key -->
<id name="id" type="integer" column="GT_ID">
<!-- id get set by oracle sequence GPS_TOURS_SEQ -->
<generator class="increment" />
</id>
<property name="end" type="timestamp" column="GT_END" />
<property name="geom" type="at.pcd.wam.technologie.persistence.custom.type.JGeometryType" column="GT_GEOM" />
<property name="start" type="timestamp" column="GT_START" />
<property name="tourDescription" type="string" column="GT_TOUR_DESCRIPTION" />
<property name="tourId" type="integer" column="GT_TOUR_ID" />
<property name="averageSpeed" type="double" column="GT_AVERAGE_SPEED" />
<property name="distance" type="double" column="GT_DISTANCE" />
</class>
</hibernate-mapping>
insert:
Code:
public static void insertGPSToursModel(final List<GPSToursModel> list) {
Session session = HibernateUtil.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
for (GPSToursModel model : list) {
/* insert */
session.save(model);
}
/* commit and close session */
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
e.printStackTrace();
}
} finally {
session = null;
tx = null;
}
}
**EDIT**
Ich bekomme die Fehlermeldung auch, wenn ich für die beiden double werte schlicht 1 setze.
Zuletzt bearbeitet: