Skip to content

Commit b4e3b5a

Browse files
authored
Merge pull request #57 from nettee-space/core-jpa
feat(core-jpa): BaseEntity 추상 클래스 분리
2 parents bb278e1 + ac808f6 commit b4e3b5a

File tree

6 files changed

+66
-5
lines changed

6 files changed

+66
-5
lines changed

src/main/java/me/nettee/board/adapter/driven/persistence/entity/BoardEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import lombok.Getter;
99
import lombok.NoArgsConstructor;
1010
import me.nettee.board.application.domain.type.BoardStatus;
11-
import me.nettee.core.jpa.support.BaseTimeEntity;
11+
import me.nettee.core.jpa.support.LongBaseTimeEntity;
1212
import org.hibernate.annotations.DynamicUpdate;
1313

1414
import java.util.Objects;
@@ -17,7 +17,7 @@
1717
@DynamicUpdate
1818
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1919
@Entity(name = "board")
20-
public class BoardEntity extends BaseTimeEntity {
20+
public class BoardEntity extends LongBaseTimeEntity {
2121
private String title;
2222

2323
private String content;

src/main/java/me/nettee/core/jpa/support/BaseTimeEntity.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
import org.springframework.data.annotation.LastModifiedDate;
88
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
99

10+
import java.io.Serializable;
1011
import java.time.Instant;
1112

1213
@Getter
1314
@MappedSuperclass
1415
@EntityListeners(AuditingEntityListener.class)
15-
public abstract class BaseTimeEntity extends BaseEntity {
16+
public abstract class BaseTimeEntity implements Serializable {
1617
@CreatedDate
1718
private Instant createdAt;
1819

1920
@LastModifiedDate
2021
private Instant updatedAt;
21-
}
22+
}

src/main/java/me/nettee/core/jpa/support/BaseEntity.java renamed to src/main/java/me/nettee/core/jpa/support/LongBaseEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
@Getter
1212
@MappedSuperclass
13-
public abstract class BaseEntity implements Serializable {
13+
public abstract class LongBaseEntity implements Serializable {
1414
@Id
1515
@GeneratedValue(strategy = GenerationType.IDENTITY)
1616
private Long id;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package me.nettee.core.jpa.support;
2+
3+
import jakarta.persistence.EntityListeners;
4+
import jakarta.persistence.MappedSuperclass;
5+
import lombok.Getter;
6+
import org.springframework.data.annotation.CreatedDate;
7+
import org.springframework.data.annotation.LastModifiedDate;
8+
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
9+
10+
import java.time.Instant;
11+
12+
@Getter
13+
@MappedSuperclass
14+
@EntityListeners(AuditingEntityListener.class)
15+
public abstract class LongBaseTimeEntity extends LongBaseEntity {
16+
@CreatedDate
17+
private Instant createdAt;
18+
19+
@LastModifiedDate
20+
private Instant updatedAt;
21+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package me.nettee.core.jpa.support;
2+
3+
import jakarta.persistence.GeneratedValue;
4+
import jakarta.persistence.GenerationType;
5+
import jakarta.persistence.Id;
6+
import jakarta.persistence.MappedSuperclass;
7+
import lombok.Getter;
8+
9+
import java.io.Serializable;
10+
import java.util.UUID;
11+
12+
@Getter
13+
@MappedSuperclass
14+
public abstract class UuidBaseEntity implements Serializable {
15+
@Id
16+
@GeneratedValue(strategy = GenerationType.UUID)
17+
private UUID id;
18+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package me.nettee.core.jpa.support;
2+
3+
import jakarta.persistence.EntityListeners;
4+
import jakarta.persistence.MappedSuperclass;
5+
import lombok.Getter;
6+
import org.springframework.data.annotation.CreatedDate;
7+
import org.springframework.data.annotation.LastModifiedDate;
8+
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
9+
10+
import java.time.Instant;
11+
12+
@Getter
13+
@MappedSuperclass
14+
@EntityListeners(AuditingEntityListener.class)
15+
public abstract class UuidBaseTimeEntity extends UuidBaseEntity {
16+
@CreatedDate
17+
private Instant createdAt;
18+
19+
@LastModifiedDate
20+
private Instant updatedAt;
21+
}

0 commit comments

Comments
 (0)