-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: 데이터 베이스 설정 * feat: Base Entity 구성 * feat: Pin Entity 구성 * feat: Travel Entity 구성 * feat: Member Entity 구성 * feat: Mate Entity 구성 * feat: Visit Entity 구성 * feat: Visit Image Entity 구성 * feat: Visit Log Entity 구성 * refactor: Table 애노테이션 삭제 * refactor: Soft Delete 적용
- Loading branch information
Showing
10 changed files
with
273 additions
and
0 deletions.
There are no files selected for viewing
9 changes: 9 additions & 0 deletions
9
backend/src/main/java/com/staccato/config/JpaAuditingConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.staccato.config; | ||
|
||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing; | ||
|
||
@Configuration | ||
@EnableJpaAuditing | ||
public class JpaAuditingConfig { | ||
} |
23 changes: 23 additions & 0 deletions
23
backend/src/main/java/com/staccato/config/domain/BaseEntity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package com.staccato.config.domain; | ||
|
||
import java.time.LocalDateTime; | ||
|
||
import jakarta.persistence.EntityListeners; | ||
import jakarta.persistence.MappedSuperclass; | ||
|
||
import org.springframework.data.annotation.CreatedDate; | ||
import org.springframework.data.annotation.LastModifiedDate; | ||
import org.springframework.data.jpa.domain.support.AuditingEntityListener; | ||
|
||
import lombok.Getter; | ||
|
||
@MappedSuperclass | ||
@EntityListeners(AuditingEntityListener.class) | ||
@Getter | ||
public abstract class BaseEntity { | ||
@CreatedDate | ||
private LocalDateTime createdDateTIme; | ||
@LastModifiedDate | ||
private LocalDateTime modifiedDateTime; | ||
private Boolean isDeleted = false; | ||
} |
27 changes: 27 additions & 0 deletions
27
backend/src/main/java/com/staccato/member/domain/Member.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.staccato.member.domain; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE member SET is_deleted = true WHERE id = ?") | ||
public class Member extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(nullable = false, unique = true) | ||
private String nickname; | ||
@Column(columnDefinition = "TEXT") | ||
private String imageUrl; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.staccato.pin.domain; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE pin SET is_deleted = true WHERE id = ?") | ||
public class Pin extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(nullable = false) | ||
private String place; | ||
@Column(nullable = false) | ||
private String address; | ||
} |
32 changes: 32 additions & 0 deletions
32
backend/src/main/java/com/staccato/travel/domain/Mate.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package com.staccato.travel.domain; | ||
|
||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.FetchType; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.JoinColumn; | ||
import jakarta.persistence.ManyToOne; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
import com.staccato.member.domain.Member; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE mate SET is_deleted = true WHERE id = ?") | ||
public class Mate extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "member_id", nullable = false) | ||
private Member member; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "travel_id", nullable = false) | ||
private Travel travel; | ||
} |
35 changes: 35 additions & 0 deletions
35
backend/src/main/java/com/staccato/travel/domain/Travel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package com.staccato.travel.domain; | ||
|
||
import java.time.LocalDate; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE travel SET is_deleted = true WHERE id = ?") | ||
public class Travel extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(columnDefinition = "TEXT") | ||
private String thumbnailUrl; | ||
@Column(nullable = false, length = 50) | ||
private String title; | ||
@Column(columnDefinition = "TEXT") | ||
private String description; | ||
@Column(nullable = false) | ||
private LocalDate startAt; | ||
@Column(nullable = false) | ||
private LocalDate endAt; | ||
} |
38 changes: 38 additions & 0 deletions
38
backend/src/main/java/com/staccato/visit/domain/Visit.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package com.staccato.visit.domain; | ||
|
||
import java.time.LocalDate; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.FetchType; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.JoinColumn; | ||
import jakarta.persistence.ManyToOne; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
import com.staccato.pin.domain.Pin; | ||
import com.staccato.travel.domain.Travel; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE visit SET is_deleted = true WHERE id = ?") | ||
public class Visit extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(nullable = false) | ||
private LocalDate visitedAt; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "pin_id", nullable = false) | ||
private Pin pin; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "travel_id", nullable = false) | ||
private Travel travel; | ||
} |
31 changes: 31 additions & 0 deletions
31
backend/src/main/java/com/staccato/visit/domain/VisitImage.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package com.staccato.visit.domain; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.FetchType; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.JoinColumn; | ||
import jakarta.persistence.ManyToOne; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE visit_image SET is_deleted = true WHERE id = ?") | ||
public class VisitImage extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(columnDefinition = "TEXT") | ||
private String imageUrl; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "visit_id", nullable = false) | ||
private Visit visit; | ||
} |
35 changes: 35 additions & 0 deletions
35
backend/src/main/java/com/staccato/visit/domain/VisitLog.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package com.staccato.visit.domain; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.FetchType; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.JoinColumn; | ||
import jakarta.persistence.ManyToOne; | ||
|
||
import org.hibernate.annotations.SQLDelete; | ||
|
||
import com.staccato.config.domain.BaseEntity; | ||
import com.staccato.member.domain.Member; | ||
|
||
import lombok.AccessLevel; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@SQLDelete(sql = "UPDATE visit_log SET is_deleted = true WHERE id = ?") | ||
public class VisitLog extends BaseEntity { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(columnDefinition = "TEXT") | ||
private String content; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "visit_id", nullable = false) | ||
private Visit visit; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "member_id", nullable = false) | ||
private Member member; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,19 @@ | ||
spring: | ||
application: | ||
name: staccato | ||
sql: | ||
init: | ||
mode: always | ||
h2: | ||
console: | ||
enabled: true | ||
datasource: | ||
url: jdbc:h2:mem:staccato | ||
jpa: | ||
show-sql: true | ||
properties: | ||
hibernate: | ||
format_sql: true | ||
hibernate: | ||
ddl-auto: create | ||
defer-datasource-initialization: true |