User.java
package me.schawe.multijsnake.usermanagement;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
// adapted from https://github.com/springbootbuch/security/blob/master/src/main/java/de/springbootbuch/security/UserEntity.java
@Entity
// "user" is a name reserved by postgres, so we have to change it
@Table(name="users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
@Column(unique = true)
@Size(max = 100)
private String username;
@NotBlank
@Column(unique = true)
@Size(max = 100)
private String email;
private String hashedPassword;
public User() {
}
User(String username, String email, String hashedPassword) {
this.username = username;
this.email = email;
this.hashedPassword = hashedPassword;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getHashedPassword() {
return hashedPassword;
}
public void setHashedPassword(String hashedPassword) {
this.hashedPassword = hashedPassword;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getId() {
return id;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", email='" + email + '\'' +
", hashedPassword='" + hashedPassword + '\'' +
'}';
}
}