39 lines
826 B
Java
39 lines
826 B
Java
|
|
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();
|
||
|
|
}
|
||
|
|
}
|