Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.fasterxml.jackson.annotation.JsonIdentityInfo;
- import com.fasterxml.jackson.annotation.JsonView;
- import com.fasterxml.jackson.annotation.ObjectIdGenerators;
- import socialcreek.access.model.AccessRole;
- import socialcreek.user.views.UserViews;
- import javax.persistence.*;
- import java.util.Set;
- @Entity
- @Table(name = "users")
- @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "id")
- public class User {
- /**-----------------------------------------------------
- * Constructor
- -------------------------------------------------------*/
- public User(){ }
- public User(String username, String password, AccessRole accessRole) {
- this.username = username;
- this.password = password;
- this.userAccessRole = accessRole;
- }
- /**-----------------------------------------------------
- * Entity Properties
- -------------------------------------------------------*/
- @Column()
- @Id
- @JsonView(UserViews.BasicView.class)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @JsonView(UserViews.BasicView.class)
- private String username;
- private String password;
- @JsonView(UserViews.BasicView.class)
- @ManyToMany(mappedBy = "users",fetch=FetchType.EAGER)
- private Set<UsersGroup> usersGroups;
- @ManyToOne(targetEntity = AccessRole.class, optional = false,fetch = FetchType.EAGER, cascade=CascadeType.MERGE)
- @JoinColumn(name = "user_role")
- @JsonView(UserViews.BasicView.class)
- private AccessRole userAccessRole;
- /**-----------------------------------------------------
- * Setters & Getters
- -------------------------------------------------------*/
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public Set<UsersGroup> getUsersGroups() {
- return usersGroups;
- }
- public void setUsersGroups(Set<UsersGroup> usersGroups) {
- this.usersGroups = usersGroups;
- }
- public AccessRole getUserAccessRole() {
- return userAccessRole;
- }
- public void setUserAccessRole(AccessRole userAccessRole) {
- this.userAccessRole = userAccessRole;
- }
- }
- import com.fasterxml.jackson.annotation.JsonIdentityInfo;
- import com.fasterxml.jackson.annotation.JsonView;
- import com.fasterxml.jackson.annotation.ObjectIdGenerators;
- import socialcreek.user.views.UserViews;
- import javax.persistence.*;
- import java.util.Set;
- @Entity
- @Table(name = "access_role")
- @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "id")
- public class AccessRole {
- /**-----------------------------------------------------
- * Entity Properties
- -------------------------------------------------------*/
- @Id
- @JsonView(UserViews.BasicView.class)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @JsonView(UserViews.BasicView.class)
- private String roleName;
- @JsonView(UserViews.BasicView.class)
- @ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
- @JoinTable(name = "access_role_permissions")
- private Set<AccessPermission> accessPermissions;
- /**-----------------------------------------------------
- * Setters & Getters
- -------------------------------------------------------*/
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getRoleName() {
- return roleName;
- }
- public void setRoleName(String roleName) {
- this.roleName = roleName;
- }
- public Set<AccessPermission> getAccessPermissions() {
- return accessPermissions;
- }
- public void setAccessPermissions(Set<AccessPermission> accessPermissions) {
- this.accessPermissions = accessPermissions;
- }
- }
- import com.fasterxml.jackson.annotation.JsonIdentityInfo;
- import com.fasterxml.jackson.annotation.JsonView;
- import com.fasterxml.jackson.annotation.ObjectIdGenerators;
- import socialcreek.user.views.UserViews;
- import javax.persistence.*;
- @Entity
- @Table(name = "access_permission")
- @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "id")
- public class AccessPermission {
- /**-----------------------------------------------------
- * Entity Properties
- -------------------------------------------------------*/
- @Id
- @JsonView(UserViews.BasicView.class)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @JsonView(UserViews.BasicView.class)
- private String permissionName;
- /**-----------------------------------------------------
- * Setters & Getters
- -------------------------------------------------------*/
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getPermissionName() {
- return permissionName;
- }
- public void setPermissionName(String permissionName) {
- this.permissionName = permissionName;
- }
- }
Add Comment
Please, Sign In to add comment