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