0

我迷失了我必须实现在 Hibernate 中定义的多对多关系的方式。在客户端,我们使用 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 和一个带有权限 CheckBoxTree 的 DynamicForm,用于选择与角色关联的权限,以及名称和描述等其他字段。

如何在数据源中建立角色和权限之间的关系?有什么推荐的解决方法吗?

4

1 回答 1

0

在搜索它之后,我已经解决了使用嵌套数据源的问题:

在 Rol 数据源中:

...
// One to Many relationship
DataSourceField permisos = new DataSourceField("permisos", FieldType.TEXT, locale.permisos());
permisos.setTypeAsDataSource(PermisoDS.getInstance());
...

关键是创建一个 DatSourceField 并将类型设置为 DataSource。然后,为了访问数据,您可以在 Rol DataSource 的记录中使用getAttributeAsRecordArray("permisos")

希望这对某人有帮助!

于 2012-09-19T08:24:49.740 回答