Pergunta

eu sou apenas curioso sobre something.I'm usando HSQL em myproject (incorporado é claro) .No algum tempo eu senti a necessidade de visualizar o que hibernate foi generating.I levou uma cópia gratuita do DbVisualizer. aqui é o hsqljdbc.properties

jdbc.url = jdbc: hsqldb: file: mydb; create = true
hibernate hbm2ddl.auto = criar

Eu baixei o HSQL 1.8.0_10. i fez tudo o procedure.i necessário poderia ligar e ver as tabelas, mas depois que as alterações feitas para a mesa não parecem estar dispostos a mostrar up.then eu tentei apagar o db gerar um novo, mas still.You tem qualquer idéia neste?

Eu costumo Derby, mas eu percebi que ultimamente não é tão preciso sobre o relacionamento management.I mysql uso para o momento que não é bom para o desenvolvimento, então eu quero saber se eu esqueci de fazer alguma coisa ou é apenas destinado a se comportar que way.Thanks para ler este

Foi útil?

Solução

Usando HSQLDB para desenvolvimento e teste é discutido em detalhe no novo Guia.

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

HSQLDB usa um mecanismo de atraso de gravação por padrão e as alterações são liberadas para o disco depois de 10 segundos na versão 1.8.x ou 0.5 segundos na versão 2.0 e posteriores.

Você pode forçar o banco de dados para o desligamento e escrever todas as mudanças quando a última conexão é fechada com este URL:

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

Com HSQLDB 2.x você pode usar a propriedade write_delay para forçar cada commit para escrever para o disco imediatamente:

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

Versão 2.2.9 e mais tarde persistem as últimas alterações quando a última conexão é fechada, por isso não pode ser necessário usar hsqldb.write_delay=false para testes que fecham as ligações.

Com HSQLDB 1.8, você precisa executar um comando SQL no beginnig para fazer isso:

SET WRITE_DELAY FALSE

Outras dicas

Por padrão, HSQLDB mantém conteúdo da tabela na memória até que o banco de dados é desligado: http://www.hsqldb.org/doc/guide/ch05.html#N10DD6

Dependendo de suas necessidades (por exemplo, trabalhando em um ambiente de desenvolvimento), este pode ser suficiente. Para a produção, no entanto, eu prefiro usar um SGBD que escreve cada mudança para o disco em vários lugares (que para os meus meios Oracle, embora MySQL provavelmente funciona tão bem).

Por que você não apenas definir a propriedade show_sql como true se você quiser ver o que hibernação faz?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top