Java Spring Roo的@OneToMany注释存在问题

Java Spring Roo的@OneToMany注释存在问题,java,spring,spring-roo,Java,Spring,Spring Roo,我试图使用SpringRoo生成具有@OneToMany单向关系的实体。以下是我尝试过的: entity --class ~.family.Child field string --fieldName name controller scaffold ~.web.ChildController entity --class ~.family.Father field string --fieldName name field set --fieldName children --element

我试图使用SpringRoo生成具有
@OneToMany
单向关系的实体。以下是我尝试过的:

entity --class ~.family.Child
field string --fieldName name
controller scaffold ~.web.ChildController
entity --class ~.family.Father
field string --fieldName name
field set --fieldName children --element ~.family.Child --cardinality ONE_TO_MANY 
controller scaffold ~.web.FatherController
perform package
这将生成预期的实体和数据库表(包括一个链接表)。
Father
实体由以下注释生成,符合JPA规范:

@OneToMany(cascade = CascadeType.ALL)
private Set<family.Child> message = new java.util.HashSet<family.Child>();

这看起来像是Roo中的一个bug。有人找到工作了吗?或者这里有错误吗?

好的,这里有一个解决方法:在
fathers/create.jspx
文件中,Roo生成以下行:

<field:simple field="children" id="c:family.Father.children" messageCode="entity.reference.not.managed" 
 messageCodeAttribute="Child" z="dMKrUOiCeYNub4vNayuiWJ99s1k="/>

这一点应替换为:

<field:select field="children" id="c:family.Father.children" itemValue="id" 
 items="${children}" multiple="true" path="/children"/>


它应该可以工作。

是的,这可能是一个bug


我也有同样的命令。它与旧版本的Roo一起工作,但我尝试了旧的备份脚本。它不起作用了。

谢谢。我自己也试过了。但它不起作用。我查看了spring roo jira,但没有发现任何错误。这只适用于展示孩子们。如果更新或创建对象,则不会保存引用。怎么办?@Hedge我很遗憾地听到,15个月后,到现在为止,这个问题还没有解决。我不知道该怎么办,在发布这篇文章后不久,我就停止使用Roo(由于工作变动)。是的,不可能得到Roo特定的帮助。我听到的只是“放下搭建的控制器和视图,做你自己的事情,但它们接近我真正想要的,所以这样做没有意义。只是出于好奇:Spring roo是否按预期工作???它能满足你的需要吗???到目前为止,我对Roo很满意,但我只使用了几个星期,而且我相当缺乏经验,所以我没有太多期望。
<field:select field="children" id="c:family.Father.children" itemValue="id" 
 items="${children}" multiple="true" path="/children"/>