Ciao a tutti.
Ho creato un DB con HSQLDB e l'ho incorporato dentro un'applicazione java.
Java comunica con il DB tramite Hibernate.
Ho dei problemi con il caricamento dei dati dal DB.
Il file di configurazione di Hibernate è il seguente:
codice:
<hibernate-configuration>
<session-factory name="">
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:file:database</property>
<property name="hibernate.connection.username">sa</property>
<property name="connection.password"/>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<property name="show_sql">false</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Tavolo.hbm.xml"/>
</session-factory>
</hibernate-configuration>
I problemi sorgono quando cambio il campo "hbm2ddl.auto"=update
Dopo alcuni riavvii delll'applicazione non riesco più a caricare il DB(anche se i dati ci sono).
Se reimposto il campo "hbm2ddl.auto"=create, posso ricreare il db e ricaricarlo, poi posso mettere anche "hbm2ddl.auto"=update per evitare di dover creare ogni volta il db e soprattutto di poter lavorare con i valori aggiornati del db.
Però dopo un po il problema si ripresenta e devo per forza ricreare il db.
Questo è l'errore:
codice:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Server.mostraTavoli(Server.java:293)
at Server$4.actionPerformed(Server.java:263)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
Come mai succede questo? Non voglio dover ricreare ad ogni avvio il DB, soprattuto perchè il DB viene aggiornato e se lo ricreo ogni volta i nuovi dati inseriti vengono persi.