我迷失了我必须实现Hibernate中定义的ManyToMany关系的方式。在客户端,我们使用SmartGWT LGPL版本和RESTDataSources对一些后端Web服务工作正常。
在典型的角色和权限之间建立关系。在Rol.class中:
...
@ManyToMany
@JoinTable(name = "ROL_PERMISO", joinColumns = @JoinColumn(name = "ROL_ID"), inverseJoinColumns = @JoinColumn(name = "PERMISO_ID"))
private Set<Permiso> permisos;
...
在客户端,我有两个“观点”。第一个是许可管理。另一个用于角色管理,其中包含一个显示角色的ListGrid和一个具有权限的DynamicForm CheckBoxTree,用于选择与角色关联的权限,以及其他字段,如名称和描述。
我如何在DataSources中建立角色和权限之间的关系?任何推荐的解决方法?
答案 0 :(得分:0)
在搜索之后我使用嵌套的DataSource解决了这个问题:
在Rol DataSource中:
...
// One to Many relationship
DataSourceField permisos = new DataSourceField("permisos", FieldType.TEXT, locale.permisos());
permisos.setTypeAsDataSource(PermisoDS.getInstance());
...
关键是创建一个DatSourceField并将类型设置为DataSource。然后,为了访问数据,您可以在Rol DataSource的记录中使用 getAttributeAsRecordArray(“permisos”)
希望这能有所帮助!