Entity
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.security.basic.persistence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Collection;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "privileges")
|
||||
public class Privilege {
|
||||
|
||||
@Id
|
||||
@Column(unique = true, nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
@ManyToMany(mappedBy = "privileges")
|
||||
private Collection<Role> roles;
|
||||
}
|
||||
32
src/main/java/com/security/basic/persistence/model/Role.java
Normal file
32
src/main/java/com/security/basic/persistence/model/Role.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.security.basic.persistence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Collection;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "roles")
|
||||
public class Role {
|
||||
|
||||
@Id
|
||||
@Column(unique = true, nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
@ManyToMany(mappedBy = "roles")
|
||||
private Collection<User> users;
|
||||
|
||||
@ManyToMany
|
||||
@JoinTable(
|
||||
name = "roles_privileges",
|
||||
joinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "privilege_id", referencedColumnName = "id")
|
||||
)
|
||||
private Collection<Privilege> privileges;
|
||||
}
|
||||
32
src/main/java/com/security/basic/persistence/model/User.java
Normal file
32
src/main/java/com/security/basic/persistence/model/User.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.security.basic.persistence.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Collection;
|
||||
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "users")
|
||||
public class User {
|
||||
|
||||
@Id
|
||||
@Column(unique = true, nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String email;
|
||||
|
||||
private String password;
|
||||
|
||||
@ManyToMany(fetch = FetchType.EAGER)
|
||||
@JoinTable(
|
||||
name = "users_roles",
|
||||
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id")
|
||||
)
|
||||
private Collection<Role> roles;
|
||||
}
|
||||
Reference in New Issue
Block a user