我有两个域(用户,角色)。两者在许多关系中都有很多关系。Hibernate Auto生成了3个表(用户,角色,Userrole)。
我已经集成了Hibernate Envers,以实现审计目的。我可以从用户&获得修订。角色表。我如何从userrole审计表获得审计修订。
在这里,我们没有创建Userrole域。基于许多与许多关系,Userrole表会自动创建。因此,没有域(userrole)可以从userrole审核表用户查询获得审核修订。
由于 UserRole
是一个联接桌子,因此您需要从那个多一对多关系的自有端访问该关联的更改。为了例子,我将假设User
是协会的所有者;因此,您将访问类似于以下内容的人:
User user = auditReader.find( User.class, userId, revisionNumber );
List<UserRole> userRoles = user.getUserRoles();
以上将为您提供revisionNumber
的Join-table中的所有UserRole
实体,并为User
提供userId
的指定标识符值。