43 lines
966 B
Java
43 lines
966 B
Java
|
|
package com.gcsc.guide.entity;
|
||
|
|
|
||
|
|
import jakarta.persistence.*;
|
||
|
|
import lombok.Getter;
|
||
|
|
import lombok.NoArgsConstructor;
|
||
|
|
|
||
|
|
import java.time.LocalDateTime;
|
||
|
|
|
||
|
|
@Entity
|
||
|
|
@Table(name = "login_history")
|
||
|
|
@Getter
|
||
|
|
@NoArgsConstructor
|
||
|
|
public class LoginHistory {
|
||
|
|
|
||
|
|
@Id
|
||
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||
|
|
private Long id;
|
||
|
|
|
||
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
||
|
|
@JoinColumn(name = "user_id")
|
||
|
|
private User user;
|
||
|
|
|
||
|
|
@Column(name = "login_at", nullable = false, updatable = false)
|
||
|
|
private LocalDateTime loginAt;
|
||
|
|
|
||
|
|
@Column(name = "ip_address", length = 45)
|
||
|
|
private String ipAddress;
|
||
|
|
|
||
|
|
@Column(name = "user_agent", length = 500)
|
||
|
|
private String userAgent;
|
||
|
|
|
||
|
|
public LoginHistory(User user, String ipAddress, String userAgent) {
|
||
|
|
this.user = user;
|
||
|
|
this.ipAddress = ipAddress;
|
||
|
|
this.userAgent = userAgent;
|
||
|
|
}
|
||
|
|
|
||
|
|
@PrePersist
|
||
|
|
protected void onCreate() {
|
||
|
|
this.loginAt = LocalDateTime.now();
|
||
|
|
}
|
||
|
|
}
|