Hibernate关系和SmartGWT RESTDataSources的解决方法

时间:2012-09-10 10:37:56

标签: hibernate gwt datasource smartgwt

我迷失了我必须实现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中建立角色和权限之间的关系?任何推荐的解决方法?

1 个答案:

答案 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”)

希望这能有所帮助!