春季Roo+;GWT-HSQLDB数据库的持久性问题

春季Roo+;GWT-HSQLDB数据库的持久性问题,gwt,jpa,hsqldb,spring-roo,Gwt,Jpa,Hsqldb,Spring Roo,我正在使用SpringRoo在GWT中开发一个项目。尝试了几个示例后,仍然无法将对象持久化到数据库中。每次从表中重新启动或重新加载数据时,值都会消失。 这是我的log.roo文件 // Spring Roo 1.1.2.RELEASE [rev fbc33bb] log opened at 2011-04-12 14:38:57 project --topLevelPackage com.despesas persistence setup --provider HIBERNATE --data

我正在使用SpringRoo在GWT中开发一个项目。尝试了几个示例后,仍然无法将对象持久化到数据库中。每次从表中重新启动或重新加载数据时,值都会消失。 这是我的log.roo文件

// Spring Roo 1.1.2.RELEASE [rev fbc33bb] log opened at 2011-04-12 14:38:57
project --topLevelPackage com.despesas
persistence setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT
enum type --class ~.shared.domain.Genero
enum constant --name HOMEM
enum constant --name MULHER
entity --class ~.server.domain.Funcionario --testAutomatically
field string --fieldName Nome --notNull
field string --fieldName userName --sizeMin 3 --sizeMax 30 --notNull
field string --fieldName departmento
field reference --type Funcionario supervisor
field enum --fieldName sexo --type ~.shared.domain.Genero
field boolean --fieldName admin --notNull
entity --class ~.server.domain.Report --testAutomatically
field string --fieldName proposta
field string --fieldName notas
field date --fieldName criado --type java.util.Date
field string --fieldName departamento
field reference --type Funcionario reporter
field reference --type Funcionario AprovacaoSupervisor
entity --class ~.server.domain.Despesa --testAutomatically
field number --type java.lang.Double montante
field string --fieldName descricao
field reference --type Report report
field string --fieldName aprovacao
field string --fieldName categoria
field date --fieldName criado --type java.util.Date
field string --fieldName motivoRecusa
gwt setup
logging setup --level INFO
quit
dependency add --groupId com.google.appengine --artifactId appengine-api-1.0-sdk --version 1.4.0
quit
perform eclipse
quit
建议不要在persistence.xml文件或HSQLDB数据库中进行错误配置以存放和维护持久性

这是我的persistence.xml文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
            <!-- value="create" to build a new database on each run; value="update" to modify an existing database; value="create-drop" means the same as "create" but also drops tables when Hibernate closes; value="validate" makes no changes to the database -->
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy"/>
            <property name="hibernate.connection.charSet" value="UTF-8"/>
            <!-- Uncomment the following two properties for JBoss only -->
            <!-- property name="hibernate.validator.apply_to_ddl" value="false" /-->
            <!-- property name="hibernate.validator.autoregister_listeners" value="false" /-->
        </properties>
    </persistence-unit>
</persistence>

org.hibernate.ejb.HibernatePersistence

创建后,我将
更改为

如果我是你,我会使用不同的数据库。HSQLDB不在磁盘上保存数据,只在内存中保存。我正在使用MYSQL,我很高兴。我将附上一个示例,让您了解如何设置日志文件

project --topLevelPackage com.something
persistence setup --provider HIBERNATE --database MYSQL --databaseName myDb --userName root --password admin
等等。。 然后使用
执行eclipse
导入roo shell中的eclipse,并编辑src/main/resources/META-INF/spring/database.propertiessrc/main/resources/META-INF/persistence.xml中的参数。
希望能有帮助。

如果我是你,我会使用不同的数据库。HSQLDB不在磁盘上保存数据,只在内存中保存。我正在使用MYSQL,我很高兴。我将附上一个示例,让您了解如何设置日志文件

project --topLevelPackage com.something
persistence setup --provider HIBERNATE --database MYSQL --databaseName myDb --userName root --password admin
等等。。 然后使用
执行eclipse
导入roo shell中的eclipse,并编辑src/main/resources/META-INF/spring/database.propertiessrc/main/resources/META-INF/persistence.xml中的参数。
希望有帮助。

支持持久HSQLDB。如果您查看此页面:

此示例适用于内存数据库:

A database properties file (src/main/resources/META-INF/spring/database.properties) which contains user name, password, JDBC driver name and connection URL details:

database.url=jdbc\:hsqldb\:mem\:foo
database.username=sa
database.password=
database.driverClassName=org.hsqldb.jdbcDriver
您应该将其更改为:

database.url=jdbc \:hsqldb \:文件\:foo

数据库现在是一个文件数据库,包含一组文件:foo.properties、foo.log等

您可以向URL添加属性,如《HSQLDB指南》中所述,以控制各种持久性选项


或者,启动HSQLDB服务器,并使用
\:hsql
而不是
\:file

支持持久化HSQLDB。如果您查看此页面:

此示例适用于内存数据库:

A database properties file (src/main/resources/META-INF/spring/database.properties) which contains user name, password, JDBC driver name and connection URL details:

database.url=jdbc\:hsqldb\:mem\:foo
database.username=sa
database.password=
database.driverClassName=org.hsqldb.jdbcDriver
您应该将其更改为:

database.url=jdbc \:hsqldb \:文件\:foo

数据库现在是一个文件数据库,包含一组文件:foo.properties、foo.log等

您可以向URL添加属性,如《HSQLDB指南》中所述,以控制各种持久性选项


或者,启动HSQLDB服务器,并使用
\:hsql
而不是
\:file

非常感谢。这对我帮助很大。我不太理解HSQLDB,看到了很多我在想另一件事的例子。非常感谢。这对我帮助很大。我不太理解HSQLDB,看到了很多我在想另一件事的例子。