在用户界面中公开的@org.jboss.seam.annotations.security.management.UserRoles返回一个简单的List方法。
seam-gen不会像上面提到的getUserRoles那样为@ManyToMany成员生成EntityQuery接口。
我们如何启用它,以便以分页的方式显示生成的角色。
编辑1:
This is the declaration in User.java
@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, fetch = FetchType.LAZY)
@JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id), inverseJoinColumns = @JoinColumn(name = "role_id"))
@UserRoles
private List<Role> userRoles = new ArrayList<Role>(0);这是Role.java中的声明
@Entity
@Table(name = "role", uniqueConstraints = @UniqueConstraint(columnNames = "name"))
public class Role {发布于 2010-01-28 00:26:12
正如Seam首席开发人员Pete Muir所说
Seam-gen不支持@ManyToMany关系
当使用@ManyToMany时,它不会生成用户界面。尽管Seam-gen让您的工作变得更轻松,但有时,您必须手动完成工作。
在继续之前
相关
..。
所以我的建议是:
将您的@ManyToMany关系拆分为@OneToMany - @ManyToOne relationship
的
Seam-gen使用的逆向工程配置文件是生成的项目中的resources/seam-gen.reveng.xml。
也许你想看看
Controlling reverse engineering
Reverse engineering support in database and drivers
添加到原始答案的
Seam使用Ant生成你的应用。它的build.xml文件位于/seam-gen/build.xml
在那里,您将看到一个名为generate-ui的目标,如下所示
<target name="generate-ui"它使用名为hbmtemplate的Ant工具。它是一个基于模板的引擎,其中可以由用户提供的模板或类控制。因此,如果你想要一个自定义的行为,你应该提供你自己的Freemarker模板。在/seam-gen/view目录中,可以看到很多模板文件(.flt扩展名)
致以敬意,
https://stackoverflow.com/questions/2073199
复制相似问题