hi!
Ich möchte ein Objekt vom Typ GPRMCModel in die DB schreiben, die Tabelle existiert aber noch nicht (Hibernate sollte sie ja anlegen, falls sie nicht existiert?). Ich benutze eine Oracle 10g XE DB, neuestes Hibernate.
Bekomme bei save folgende Fehlermeldung:
In der Exception ist noch folgendes zu finden:
hibernate.config:
hbm file:
bsp code:
Ich möchte ein Objekt vom Typ GPRMCModel in die DB schreiben, die Tabelle existiert aber noch nicht (Hibernate sollte sie ja anlegen, falls sie nicht existiert?). Ich benutze eine Oracle 10g XE DB, neuestes Hibernate.
Bekomme bei save folgende Fehlermeldung:
Code:
WARNUNG: SQL Error: 2289, SQLState: 42000
13.09.2007 15:06:55 org.hibernate.util.JDBCExceptionReporter logExceptions
SCHWERWIEGEND: ORA-02289: Sequence ist nicht vorhanden.
In der Exception ist noch folgendes zu finden:
Code:
could not get next sequence value
select hibernate_sequence.nextval from dual
hibernate.config:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="hibernate.connection.password">navteq</property>
<property name="hibernate.connection.url">
****
</property>
<property name="hibernate.connection.username">navteq</property>
<property name="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="myeclipse.connection.profile">
****
</property>
<property name="connection.url">
****
</property>
<property name="connection.username">****</property>
<property name="connection.password">****</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.show.sql">true</property>
<mapping
resource="at/pcd/wam/technologie/persistence/hbm/GPRMCModel.hbm.xml" />
</session-factory>
</hibernate-configuration>
hbm file:
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.GPRMCModel" table="NMEA_GPRMC" >
<id name="id" type="string" column="ID">
<generator class="native"></generator>
</id>
<property name="checksum" type="string" column="CHECKSUM"></property>
<property name="cruiseKnot" type="float" column="CRUISE_KNOT"></property>
<property name="date" type="date" column="DATE"></property>
<property name="directionDegree" type="float" column="DIRECTION_DEGREE"></property>
<property name="latitude" type="double" column="LATITUDE"></property>
<property name="latitudeStatus" type="character" column="LATITUDE_STATUS"></property>
<property name="longitude" type="double" column="UID_SPERRE"></property>
<property name="longitudeStatus" type="character" column="LONGITUDE_STATUS"></property>
<property name="magneticDeviation" type="float" column="MAGNETIC_DEVIATION"></property>
<property name="magneticDeviationStatus" type="character" column="MAGNETIC_DEVIATION_STATUS"></property>
<property name="utcTime" type="date" column="UTC_TIME"></property>
<property name="utcTimeStatus" type="character" column="UTC_TIME_STATUS"></property>
</class>
</hibernate-mapping>
bsp code:
Code:
GPRMCModel testModel = new GPRMCModel();
testModel.setChecksum("CHECKSUMME TEST");
testModel.setDate(new Date());
GPRMCDB.insertNewData(testModel);
public static void insertNewData(final GPRMCModel model) {
Session session = HibernateUtil.getCurrentSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
/* insert */
session.save(model);
/* commit and close session */
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
} finally {
session = null;
tx = null;
}
}