
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.example.educatback.model.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.*;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@Entity
@Builder
@NoArgsConstructor
@Getter
@AllArgsConstructor
@Setter
@Table(name = "Member")
public class Member implements UserDetails {
@Id
@Column(name = "id")
private String username;
@Column(name = "pw")
private String password;
@Column(name = "name")
private String name;
@Column(name = "grade")
private int grade;
@Column
private final String role = "student";
@Column(name = "focus")
private int focus;
@Column(name = "expression")
private int expression;
@Column(name = "understand")
private int understand;
@Column(name = "word")
private int word;
@Column(name = "sentence")
private int sentence;
@Column(name = "grammar")
private int grammar;
@Column(name = "gender")
private String gender;
@Column(name = "created_at")
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
@OneToMany(mappedBy = "member")
private List<Solved> solveds;
@OneToMany(mappedBy = "member")
private List<ScoreLog> scoreLogs;
@Column(name = "comment")
private String Comment;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
List<GrantedAuthority> roles = new ArrayList<>();
// roles.add(new SimpleGrantedAuthority(role));
if (role != null) {
roles.add(new SimpleGrantedAuthority(role));
}
return roles;
}
@Override
public String getPassword() {
return password;
}
@Override
public String getUsername() {
return username;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
@PrePersist
public void prePersist() {
this.createdAt = LocalDateTime.now();
this.updatedAt = LocalDateTime.now();
}
@PreUpdate
public void preUpdate() {
this.updatedAt = LocalDateTime.now();
}
}