Estou utilizando HSQLDB em uma aplicação desktop e gostaria muito de usar Hibernate. É possível fazer isso?
Vou usar o HSQLDB em modo standalone, a principio. Ou teria uma opção mais adequada?
bem, eu fiz um programa exemplo, e as informações não eram persistidas, e não raro ocorria problemas de locking dos arquivos do HSQLDB.
Não estou entendendo muito a duvida??? O Hibernate não foi feito especificamente para Web e muito menos para bancos distribuidos!! Ele simplesmente faz a ponte entre sua aplicacao e o BD, esteja o BD na mesma maquina da aplicação ou não!!!
Só se o problema for com o HSQLDB!!!
Se você quer ter N conexões simultâneas ao HSQLDB, pode tentar o modo “server”.
Recomendo usar a versão 1.8 ou posterior; a 1.7 está terrivelmente bugada, tanto é que o pessoal do OpenOffice teve de tirar um verdadeiro caminhão de bugs do HSQLDB.
Thingol, a apliacao eh desktop, nao vai ter problemas com concorrencia.
O que eu quero saber eh se tem alguma limitacao para utilizar hibernate + HSQLDB Standalone.
aqui também não teve jeito, tá me dando raiva já! grrr
Testei de tudo quanto é jeito, essa merda NÃO GRAVA de jeito nenhum, já botei shutdown no xml do hibernate (connection.shutdown=true), já botei na string de conexão (STRINGCONEXÃO;shutdown=true) e não teve jeito, commit não tá dando certo
Agora é assim, por exemplo, utilizando um jcreator ou eclipse sem hibernate utilizando standalone, pra gravar, você precisa executar o comando “shutdown” OU se tiver na string de conexão o “shutdown=true” você precisa dar close na conexão pra funcionar
Também tive esse problema com o hibernate + HSQLDB, mas ao colocar a string shutdown=true tudo funciona “bem”.
Já ligou o log4j do hibernate pra ver se dá algum problema? Ele não estaria por dropando as tables (hbm2ddl.auto = create)?
Em ultimo caso ja tentou usar o Derby como db standalone?
quando uso create, os dados que já estão no banco de dados não aparecem, ou seja, num mesmo programa eu crio o objeto, salvo e depois dou um select, daí ele aparece. Quando eu tento abrir somente para ler os dados, ele não acha NADA
Com create o Hibernate faz drop de todas as tables na inicialização.
Perguntei se você estava usando create pois isso poderia causar o problema que você está enfrentando (quando o programa está rodando o commit funciona e os dados são “persistidos”, quando você fecha e roda novamente os dados foram perdidos).
Sei que o topico é antigo.
Porem estava no Google procurando sobre:
por que não é preciso usar Dialect no HSQL?
por que não o tipo de transaction precisa ser o RESOURCE_LOCAL?
E vi parar aqui. Fiz muitos testes aqui e nenhum momento meus dados deixaram de ser salvos.
Qual versão vocês estao usando?
Pergunto isso, porque uso a ultima versao ( 1.8.0.8 )
E nao preciso colocar ;shutdown=true e nem SET WRITE_DELAY 0 MILLIS (*.script) para a persistencia dos dados serem concluidas com sucesso.
Estou usando o Hibernate como implementação do JPA.