Java 带有datanucleus的Roo1.2.0基本应用程序仍然有缺陷

Java 带有datanucleus的Roo1.2.0基本应用程序仍然有缺陷,java,spring-roo,h2,datanucleus,Java,Spring Roo,H2,Datanucleus,几天前,我发布了,就在最近的2011年12月17日,SpringRoo1.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 --notNul

几天前,我发布了,就在最近的2011年12月17日,SpringRoo1.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/jdonAllidentityException。这不是一个好的开始,但添加缺少的JDOAPI依赖项很容易解决,如pom.xml中所示

这次我没有得到重复的记录,但出现了一个例外:

无法为列任务设置对象参数:value=1。版本:参数parameterIndex[90008-161]的值6无效;嵌套异常为javax.persistence.PersistenceException:无法为列任务设置对象参数:value=1。版本:参数参数索引[90008-161]的值6无效

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

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

我还应该做哪些更改才能使其工作?

定义对Roo象形文字不感兴趣的JPA持久性代码错误消息“parameter parameterIndex[90008-161]的值无效”来自H2数据库,这意味着有一个JDBC调用来为少于6个参数的语句设置参数号6。可能是SpringRoo或您的应用程序中的错误。要查找JDBC方法调用,请追加;TRACE_LEVEL_FILE=3到数据库URL,并查看db.TRACE.db文件以了解详细信息。@ThomasMueller收到了,谢谢。错误信息不是很清楚,即使在你的评论之后它是有意义的。应该像你说的那样。该应用程序仅使用上面的那些roo命令生成,我没有涉及任何其他内容。我会试试你的建议,以便看得更清楚。
<property name="datanucleus.allowAttachOfTransient" value="true"/>
WARN  DataNucleus.MetaData - Class task.controller.TaskController_Roo_Controller
was specified in persistence-unit persistenceUnit but not annotated, so ignoring