Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- principal_id permission target
- 12312313 PERM1 1000
- 12312313 PERM2 1000
- 12312313 PERM2 1002
- @Entity
- ...
- public class Principal {
- @Id
- private long principalId;
- ...
- private Map<String, List<Long>> permissionMap;
- }
- @Entity
- ...
- public class Principal {
- @Id
- private long principalId;
- /** Other properties **/
- @OneToMany
- private Set<Permission> permissions;
- ....
- }
- @Entity
- @IdClass(PermissionId.class)
- public class Permission {
- @Id
- private String permission;
- @Id
- private Long target
- public static class PermissionId implements Serializable {
- private String permission;
- private Long target;
- /** setters/getters hashcode and equals goes here **/
- }
- }
- @Embeddable
- public class Permission {
- private String permission;
- private int target;
- }
- @ElementCollection
- @CollectionTable(name="foo", joinColumns = @JoinColumn(name = "principal_id"))
- private Set<Permission> permissions;
- @ElementCollection
- @CollectionTable(name="foo", joinColumns = @JoinColumn(name = "principal_id"))
- @MapKeyColumn(name="permission")
- @Column(name="target")
- private Map<String, Integer> permissions;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement