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

39 lines
826 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 = "page_views")
@Getter
@NoArgsConstructor
public class PageView {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
@Column(name = "page_path", nullable = false)
private String pagePath;
@Column(name = "viewed_at", nullable = false, updatable = false)
private LocalDateTime viewedAt;
public PageView(User user, String pagePath) {
this.user = user;
this.pagePath = pagePath;
}
@PrePersist
protected void onCreate() {
this.viewedAt = LocalDateTime.now();
}
}