Skip to content

Commit 897a2f0

Browse files
committed
feat: 제품 메트릭스 엔티티 및 복합 키 클래스 추가
1 parent b7c5d5f commit 897a2f0

2 files changed

Lines changed: 59 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.loopers.batch.domain.metrics;
2+
3+
import jakarta.persistence.*;
4+
import lombok.AccessLevel;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.time.LocalDate;
9+
10+
@Entity
11+
@Getter
12+
@Table(name = "product_metrics")
13+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
14+
public class ProductMetrics {
15+
16+
@EmbeddedId
17+
private ProductMetricsId id;
18+
19+
@Column(name = "likes_delta")
20+
private int likesDelta;
21+
22+
@Column(name = "sales_delta")
23+
private int salesDelta;
24+
25+
@Column(name = "views_delta")
26+
private int viewsDelta;
27+
28+
public Long getProductId() {
29+
return id.getProductId();
30+
}
31+
32+
public LocalDate getMetricsDate() {
33+
return id.getMetricsDate();
34+
}
35+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.loopers.batch.domain.metrics;
2+
3+
import jakarta.persistence.Column;
4+
import jakarta.persistence.Embeddable;
5+
import lombok.AccessLevel;
6+
import lombok.EqualsAndHashCode;
7+
import lombok.Getter;
8+
import lombok.NoArgsConstructor;
9+
10+
import java.io.Serializable;
11+
import java.time.LocalDate;
12+
13+
@Embeddable
14+
@Getter
15+
@EqualsAndHashCode
16+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
17+
public class ProductMetricsId implements Serializable {
18+
19+
@Column(name = "product_id")
20+
private Long productId;
21+
22+
@Column(name = "metrics_date")
23+
private LocalDate metricsDate;
24+
}

0 commit comments

Comments
 (0)