gc-guide-api/src/main/java/com/gcsc/guide/entity/LoginHistory.java

43 lines
966 B
Java
Raw Normal View 히스토리

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();
}
}