1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Persistir dados utilizando HSQLDB e Hibernate

Olá pessoal. Estou com dificuldade em persistir dados em um projeto Maven web no Tomcat 7 utilizando Spring, HSQLDB e Hibernate.

Tenho um form básico como os campos Nome e E-mail, que ao clicar em Salvar, vai para a página de listagem de pessoas. Quando clico em Salvar, o nome e e-mail da pessoa aparecem logo em seguida na página de listagem. Contudo, se eu navegar para outra página e voltar para a lista de membros, a pessoa já não aparece mais.

Meu persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="projeto_PU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.rogeriogentil.projeto.negocio.modelo.Membro</class>
    <properties>
      <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
      <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:file:db/projeto;locked=false;shutdown=true"/>
      <property name="javax.persistence.jdbc.user" value="sa"/>
      <property name="javax.persistence.jdbc.password" value=""/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>      
    </properties>
  </persistence-unit>
</persistence>

Vi que muitos já passaram por isto, mas em nenhuma das minhas tentativas consegui resolver.

  • E você fez um select no banco de dados para ver se os dados estão mesmo sendo inseridos?

    romarcio   15 de mai de 2014
  • Se você está usando o spring mvc, porque você não configura tudo dentro do contexto do spring e descarta o persistence.xml?

    Tiago   15 de mai de 2014
  • @romarcio: eu não consigo nem acessar a base utilizando DatabaseManager. É lançado a exceção "Database lock acquisition failure".

    rogerio_gentil   16 de mai de 2014
  • @Tiago pode ser uma opção, mas ainda não conheço todos os recursos do Spring MVC. Sempre trabalhei com JSF e Primefaces. Qual a vantagem em descartar o persistence.xml?

    rogerio_gentil   16 de mai de 2014
  • Você consegue ir no diretório para ver se sua base foi realmente criada fisicamente? Se sim, lá você terá um arquivo texto com o mesmo nome do seu banco de dador. Abra esse arquivo e você poderá visualizar todos os inserts que foram registrados.

    romarcio   16 de mai de 2014
Mostrar todos os 7 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags persistência hibernate java maven ou faça a sua própria pergunta.