我已经建立了一个自定义关系,允许Account打开一个模块。所以我复制了org.picketlink.idm.model.basic.Grant并重命名了它。 成功创建关系,创建数据库表,但是当关系存储在数据库中时,记录将重复:
对于同一记录,有2个受让人和2个模块,所以如果我尝试删除模块,我会得到一个例外。
我已阅读official guide,但它使用了注释:
org.picketlink.idm.model.annotation.RelationshipIdentity
不存在!
是否有人遇到过相同的重复错误或尝试构建自定义关系?
答案 0 :(得分:1)
解决。
问题出在持有数据库记录的实体中。 我有类似 RelationshipTypeEntity 和 RelationshipIdentityTypeEntity 的类,如official guide中所建议的那样。 Theese实体类就足够了! 我还添加了ModuleUserRelationship,它扩展了RelationshipTypeEntity,但是在这个表中,我找到了RelationshipTypeEntity表的引用,另一个是ModuleUser表的引用。
因此删除其他实体类解决了我的问题。