Roo 1.1.5超级基本应用程序是错误的

时间:2011-12-14 12:26:21

标签: java google-app-engine spring-roo datanucleus

我正在使用Roo 1.1.5,使用Eclipse STS,这就是我所做的:我从Eclipse创建一个新的Spring Roo项目,在Roo Shell中,我键入以下内容:

persistence setup --provider DATANUCLEUS --database H2_IN_MEMORY 
entity --class ~.domain.Task
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512
field boolean --fieldName completed --notNull
controller all --package ~.controller

A more verbose description is in my blog,但上面报道的基本上就是我做的事情。

在Web浏览器中,我可以很好地创建和列出任务,但如果我尝试编辑(更新)任务,则会创建一个新的重复任务...可能是这样的错误已经插入?或者是我做错了什么?

更新:更快我从命令行运行脚本并尝试使用所有持久性提供程序。

$ roo
roo> project --topLevelPackage task --java 6 --projectName Task
roo> persistence setup --provider DATANUCLEUS --database H2_IN_MEMORY 
roo> entity --class ~.domain.Task
roo> field string --fieldName description --notNull --sizeMin 3 --sizeMax 512
roo> field boolean --fieldName completed --notNull
roo> controller all --package ~.controller
roo> exit
$ mvn tomcat:run #or mvn jetty:run

结果如下:

DATANUCLEUS和DATANUCLEUS_2与H2

Roo + Datanucleus + H2导致错误的应用程序,更新重复记录的结果。

ECLIPSELINK WITH H2

构建失败

  

无法解析以下工件:org.eclipse.persistence:eclipselink:jar:2.2.0,org.eclipse.persistence:javax.persistence:jar:2.0.3:找不到工件org.eclipse.persistence :eclipselink:jar:在spring-maven-release中发布2.2.0(http://maven.springframework.org/release)

OPENJPA与H2

工作,有警告。例如:

  

WARN [main] openjpa.Runtime - 使用PersistenceUnitInfo注册ClassTransformer时发生错误:名称'persistenceUnit',根URL [file:/ home / stefano / workspace / task4 / target / classes /]。错误已被消耗。要查看它,请将openjpa.Runtime日志级别设置为TRACE。加载时类转换将不可用。

HIBERNATE WITH H2

作品

带有GOOGLE APP引擎的DATANUCLEUS

作品...

project --topLevelPackage task --java 6 --projectName Task
persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE \
    --applicationId appid
entity --class ~.domain.Task
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512
field boolean --fieldName completed --notNull
controller all --package ~.controller
exit
mvn gae:run

2 个答案:

答案 0 :(得分:1)

你是否正在点击JIRA ROO-1467。 JPA规范留下了很多可以解释的东西。在DataNucleus 3中,有一个标志可以获取各种不同类型的行为以进行合并,以满足所有可能性。

答案 1 :(得分:0)

我已经尝试过你的脚本(但是由于一些未找到的依赖项,我使用了Hibernate而不是datanucleus)。但它对我没有任何问题。

因此,问题可能是数据核心,或者是“在此脚本之外”。