Roo 1.2.0基本应用程序与datanucleus仍然有bug

时间:2011-12-18 17:40:38

标签: java spring-roo h2 datanucleus

几天前,我发布了Roo 1.1.5 super basic application is buggy,就在最近的2011年12月17日,Spring Roo 1.2.0已经发布。我创建了等效的项目:

project --topLevelPackage task --java 6 --projectName Task
jpa setup --provider DATANUCLEUS --database H2_IN_MEMORY 
entity jpa --class ~.domain.Task
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512
field boolean --fieldName completed --notNull
web jsf setup 
controller all --package ~.controller
exit
mvn jetty:run

我受到了java.lang.NoClassDefFoundError: javax/jdo/JDONullIdentityException的欢迎。不是一个好的开始,但在pom.xml(作为Andy Datanucleus explained here

中添加缺少的jdo-api依赖项很容易解决
<dependency>
        <groupId>javax.jdo</groupId>
        <artifactId>jdo-api</artifactId>
        <version>3.0</version>
</dependency>

此时应用程序可以运行,但更新错误的重复记录仍然存在。所以,正如JIRA ROO-1467中所解释的那样,安迪再次提到了persistence.xml

<property name="datanucleus.allowAttachOfTransient" value="true"/>

这次我没有得到重复的记录,但是例外:

  

无法为列“TASK.VERSION”设置Object参数:value = 1:参数“parameterIndex”的值“6”无效[90008-161];嵌套异常是javax.persistence.PersistenceException:无法为列“TASK.VERSION”设置Object参数:value = 1:参数“parameterIndex”的值“6”无效[90008-161]

我不知道是否相关,但我也注意到许多警告类似于以下警告:

WARN  DataNucleus.MetaData - Class task.controller.TaskController_Roo_Controller
was specified in persistence-unit persistenceUnit but not annotated, so ignoring

我应该做些什么来改变它?

0 个答案:

没有答案