This commit is contained in:
JianChoi-Kor
2022-07-06 22:20:56 +09:00
parent 72ea8c9117
commit adb0daf534
3 changed files with 88 additions and 0 deletions

View File

@@ -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;
}

View 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;
}

View 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;
}