Guest User

Untitled

a guest
Mar 26th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. import java.util.Set;
  2.  
  3. import javax.persistence.*;
  4.  
  5. @Entity
  6. public class User {
  7.  
  8. @Id
  9. @GeneratedValue(strategy = GenerationType.AUTO)
  10. private long id;
  11.  
  12. private String email;
  13.  
  14. private String password;
  15.  
  16. public long getId() {
  17. return id;
  18. }
  19.  
  20. public void setId(long id) {
  21. this.id = id;
  22. }
  23.  
  24. public String getEmail() {
  25. return email;
  26. }
  27.  
  28. public void setEmail(String email) {
  29. this.email = email;
  30. }
  31.  
  32. public String getPassword() {
  33. return password;
  34. }
  35.  
  36. public void setPassword(String password) {
  37. this.password = password;
  38. }
  39.  
  40. public Set<Role> getRoles() {
  41. return roles;
  42. }
  43.  
  44. public void setRoles(Set<Role> roles) {
  45. this.roles = roles;
  46. }
  47.  
  48. @ManyToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
  49. @JoinTable(joinColumns = @JoinColumn(name = "id"),inverseJoinColumns = @JoinColumn(name = "roleId"))
  50. private Set<Role> roles;
  51.  
  52. public User(String email, String password, Set<Role> roles) {
  53. super();
  54. this.email = email;
  55. this.password = password;
  56. this.roles = roles;
  57. }
  58.  
  59. }
  60.  
  61. import java.util.Set;
  62.  
  63. import javax.persistence.Entity;
  64. import javax.persistence.FetchType;
  65. import javax.persistence.GeneratedValue;
  66. import javax.persistence.GenerationType;
  67. import javax.persistence.Id;
  68. import javax.persistence.ManyToMany;
  69.  
  70. @Entity
  71. public class Role {
  72.  
  73. @Id
  74. @GeneratedValue(strategy = GenerationType.AUTO)
  75. private long id;
  76.  
  77. private String role;
  78.  
  79. @ManyToMany(mappedBy = "roles",fetch = FetchType.LAZY)
  80. private Set<User> users;
  81.  
  82. public Role(String role) {
  83. super();
  84. this.role = role;
  85. }
  86.  
  87. public long getId() {
  88. return id;
  89. }
  90.  
  91. public void setId(long id) {
  92. this.id = id;
  93. }
  94.  
  95. public String getRole() {
  96. return role;
  97. }
  98.  
  99. public void setRole(String role) {
  100. this.role = role;
  101. }
  102.  
  103. public Set<User> getUsers() {
  104. return users;
  105. }
  106.  
  107. public void setUser(Set<User> users) {
  108. this.users = users;
  109. }
  110.  
  111.  
  112.  
  113. }
  114.  
  115. try {
  116. List<String> roleNames = Lists.newArrayList("user, admin, superuser");
  117. User user = new User("Peter", "Pan");
  118. List<Role> roles = new ArrayList<>();
  119. entityManager.getTransaction().begin();
  120. for (String roleName : roleNames) {
  121. List<Role> found = entityManager.createQuery("select r from Roles r where r.name = :roleName", Role.class)
  122. .setParameter("roleName", roleName).getResultList();
  123. if (found.isEmpty()) {
  124. Role role = new Role(roleName);
  125. entityManager.persist(role);
  126. roles.add(role);
  127. } else {
  128. roles.addAll(found);
  129. }
  130. }
  131. user.setRoles(roles);
  132. entityManager.persist(user);
  133. entityManager.getTransaction().commit();
  134. } finally {
  135. entityManager.close();
  136. }
Add Comment
Please, Sign In to add comment