I have following tables
User (has FK_RoleKey) -> UserRole (Role Key)
UserRoleResourceAccess(FK_RoleKey) -> UserRole(RoleKey)
UserRoleResourceAccess (has FK_ResourceKey) -> Resource (ResourceKey Key)
Eg Row:
User-> EmailId = user@abc.com | FK_RoleKey = 1
UserRole -> Role Key=1| RoleName= Admin
Resource -> Resource Key=1 | Resource name= "page1"
UserRoleResourceAccess -> FK_RoleKey =1 |FK_ResourceKey = 1
How can i get all the user privileges(role and resources) of a given user using hibernate criteria query.
Briefly : this is what i am trying to achieve in a single hibernate query
select * from User user
LEFT JOIN UserRole userRole
ON user.`FK_RoleKey` = userRole.`RoleKey`
LEFT JOIN UserRoleResourceAccess userRoleResourceAccess
ON userRoleResourceAccess.`FK_RoleKey` = userRole.`RoleKey`
LEFT JOIN `Resource` resource
ON resource.`ResourceKey` = userRoleResourceAccess.`FK_ResourceKey`
where user.`EmailID` = 'abc';