Domanda

Sono solo curioso di something.I'm utilizzando hsql in myproject (embedded ovviamente) .Al po 'di tempo ho sentito il bisogno di visualizzare ciò che Hibernate è stato generating.I ha preso una copia gratuita di dbvisualizer. ecco i hsqljdbc.properties

  

jdbc.url = jdbc: HSQLDB: file: mydb; create = true
   hibernate hbm2ddl.auto = creare

Ho scaricato il HSQL 1.8.0_10. Ho fatto tutto il necessario procedure.i potuto collegare e vedere le tabelle, ma dopo che le modifiche apportate alla tabella non sembrano essere disposti a mostrare up.then Ho provato a cancellare il db generare un nuovo ma still.You ottenuto qualche idea in questo?

Io di solito Derby, ma mi sono reso conto che ultimamente non è così preciso sul rapporto management.I usare MySQL per il momento, che non è un bene per lo sviluppo in modo che io voglio sapere se ho dimenticato di fare qualcosa o è solo dire a comportarsi che way.Thanks per la lettura di questo

È stato utile?

Soluzione

Utilizzando HSQLDB per lo sviluppo e la sperimentazione è discusso in dettaglio nella nuova Guida.

http://hsqldb.org/doc/2.0/guide /deployment-chapt.html#dec_app_dev_testing

HSQLDB utilizza un meccanismo di ritardo scrittura di default e modifiche vengono scaricati su disco dopo 10 secondi in versione 1.8.x o 0,5 sec nella versione 2.0 e successive.

È possibile forzare il database per l'arresto e scrivere tutte le modifiche quando l'ultima connessione è chiusa con questo URL:

jdbc.url=jdbc:hsqldb:file:mydb;shutdown=true

Con HSQLDB 2.x è possibile utilizzare la proprietà write_delay per forzare ogni commit per scrivere su disco immediatamente:

jdbc.url=jdbc:hsqldb:file:mydb;hsqldb.write_delay=false

La versione 2.2.9 e successive persistono le ultime modifiche quando l'ultima connessione è chiusa, quindi potrebbe non essere necessario utilizzare hsqldb.write_delay=false per le prove che chiudono i collegamenti.

Con HSQLDB 1.8, è necessario eseguire un comando SQL al beginnig per fare questo:

SET WRITE_DELAY FALSE

Altri suggerimenti

Per impostazione predefinita, HSQLDB mantiene il contenuto della tabella in memoria fino a quando il database viene chiuso: http://www.hsqldb.org/doc/guide/ch05.html#N10DD6

A seconda delle esigenze (ad esempio, lavorando in un ambiente di sviluppo), questo può essere sufficiente. Per la produzione, però, preferisco usare un DBMS che scrive ogni modifica su disco in più luoghi (che per i miei mezzi Oracle, anche se MySQL probabilmente funziona altrettanto bene).

Perché non è sufficiente impostare la proprietà show_sql su true se si vuole vedere che cosa fa Hibernate?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top