Hi ich versuche gerade mit Hibernate Objekte in eine HSQL DB zu speichern. Jedoch, speichert mir die Datenbank die Daten nicht, beim Nächsten Start des Programms ist die DB wieder leer..
Das wär doch ok oder <property name="connection.url">jdbc:hsqldb:file:db/miner</property>
also mal alles zusammen
also Grundsätzlich funktioniert es... nur in der Scrpt Datei der DB hab ich dann sowas drin
Das wär doch ok oder <property name="connection.url">jdbc:hsqldb:file:db/miner</property>
also mal alles zusammen
Java:
<!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="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:file:db/miner</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="jdbc.batch_size">0</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="com.rad.miner.Tourney"/>
</session-factory>
</hibernate-configuration>
Java:
package com.rad.miner;
import java.util.List;
import org.hibernate.Session;
public class Main {
public static void main(String args[]){
System.out.println("läuft");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
for (int i = 0; i < 10; i++) {
Tourney tourney = new Tourney();
tourney.setName("name#"+i);
session.saveOrUpdate(tourney);
}
session.getTransaction().commit();
Session session2 = HibernateUtil.getSessionFactory().getCurrentSession();
session2.beginTransaction();
List<Tourney> list = session2.createQuery("FROM Tourney").list();
for (Tourney t : list) {
System.out.println(t.getName());
}
session2.close();
System.out.println("fertig");
}
}
Java:
package com.rad.miner;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
return new AnnotationConfiguration()
.configure()
.buildSessionFactory();
}
catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.out.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Java:
package com.rad.miner;
import java.text.DecimalFormat;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Tourney {
@Id
@GeneratedValue
private Long id;
...
Dadurch werden mir die Daten nicht dauerhaft gespeichert, was ich aber gerne hätte... was kann ich dagegen machen?CREATE MEMORY TABLE TOURNEY...
Zuletzt bearbeitet: