如何使用Envers审核查询获取多对多联接表的审核修订

时间:2019-03-18 09:10:04

标签: hibernate hibernate-envers

我有两个域(用户,角色)。两者之间存在多对多关系。休眠会自动生成3个表(用户,角色,用户角色)。

我已经集成了休眠引擎,以用于审核。我可以从“用户和角色”表中获取修订。如何从UserRole审核表中获取审核修订。

在这里,我们没有创建UserRole域。基于多对多关系,UserRole表自动创建。因此,没有域(UserRole)从UserRole审核表用户审核查询中获取审核修订。

1 个答案:

答案 0 :(得分:0)

由于UserRole是一个联接表,因此您想从多对多关系的拥有方访问对该关联的更改。为了举例说明,我假设User是关联的所有者;因此您将访问与以下内容类似的内容:

User user = auditReader.find( User.class, userId, revisionNumber );
List<UserRole> userRoles = user.getUserRoles();

以上内容将为您为UserRole的{​​{1}}的联接表中的所有revisionNumber实体提供指定的标识符值User