设置字段的设置器不完整+mappedBy

发布于 2024-11-14 08:32:10 字数 616 浏览 6 评论 0原文

场景:

entity --class ~.domain.Team
entity --class Person
field reference --fieldName team --type Team
focus --class Team
field set --fieldName members --type Person --mappedBy team
controller all --package ~.web

这会为人员和团队生成标准 CRUD 脚手架。创建/更新团队时,有一个成员列表选择器,但更改不会保留。

解决此问题的方法是更改​​ Team_Roo_JavaBean.aj 中的 setMembers:(

public void Team.setMembers(Set<Person> members) {
    this.members = members;
    for (Person person : members) {
        person.setTeam(this);
    }
}

添加循环以更新所有引用的 People,还需要更新那些取消引用的...)

为什么需要更改此 [样板] 代码?

Scenario:

entity --class ~.domain.Team
entity --class Person
field reference --fieldName team --type Team
focus --class Team
field set --fieldName members --type Person --mappedBy team
controller all --package ~.web

This generates standard CRUD scaffolding for People and Teams. When creating/updating a Team, there is a list selector for members, but changes are not persisted.

A workaround for this is to change setMembers in Team_Roo_JavaBean.aj:

public void Team.setMembers(Set<Person> members) {
    this.members = members;
    for (Person person : members) {
        person.setTeam(this);
    }
}

(added loop to update all referenced People, need to update those dereferenced as well...)

Why are changes to this [boilerplate] code necessary?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅冇旳回忆 2024-11-21 08:32:10

我认为这是一个已知的 Spring Roo 拦截器错误: https://jira.springsource.org/browse/ ROO-2365

I think this is a known blocker Spring Roo bug: https://jira.springsource.org/browse/ROO-2365.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文