package com.pollex.pam.domain; import com.pollex.pam.enums.LoginMethod; import com.pollex.pam.enums.LoginResult; import javax.persistence.*; import java.io.Serializable; import java.time.Instant; @Entity @Table(name = "login_record") public class LoginRecord implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "account") private String account; @Enumerated(EnumType.STRING) @Column(name = "login_method") private LoginMethod loginMethod; @Column(name = "login_date", updatable = false) private Instant loginDate = Instant.now(); @Enumerated(EnumType.STRING) @Column(name = "result") private LoginResult result; @Column(name = "failed_reason") private String failedReason; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public LoginMethod getLoginMethod() { return loginMethod; } public void setLoginMethod(LoginMethod loginMethod) { this.loginMethod = loginMethod; } public Instant getLoginDate() { return loginDate; } public void setLoginDate(Instant createdDate) { this.loginDate = createdDate; } public LoginResult getResult() { return result; } public void setResult(LoginResult result) { this.result = result; } public String getFailedReason() { return failedReason; } public void setFailedReason(String failedReason) { this.failedReason = failedReason; } @Override public String toString() { return "LoginRecord{" + "id=" + id + ", account='" + account + '\'' + ", loginMethod=" + loginMethod + ", createdDate=" + loginDate + ", result=" + result + ", failedReason='" + failedReason + '\'' + '}'; } }