Skip to content

Commit

Permalink
[Feature] - 여행기 관련 Entity 생성 #17
Browse files Browse the repository at this point in the history
  • Loading branch information
hangillee authored Jul 15, 2024
1 parent ce7ece5 commit f8d6982
Show file tree
Hide file tree
Showing 5 changed files with 163 additions and 0 deletions.
28 changes: 28 additions & 0 deletions backend/src/main/java/woowacourse/touroot/place/domain/Place.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package woowacourse.touroot.place.domain;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;

@Getter
@Entity
public class Place {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private String name;

@Column(nullable = false)
private Double latitude;

@Column(nullable = false)
private Double longitude;

private String googlePlaceId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package woowacourse.touroot.travelogue.domain;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import java.util.List;
import lombok.Getter;
import woowacourse.touroot.travelogueday.domain.TravelogueDay;

@Getter
@Entity
public class Travelogue {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 20)
private String title;

@Column(nullable = false)
private String thumbnail;

@OneToMany(mappedBy = "travelogue")
private List<TravelogueDay> days;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package woowacourse.touroot.travelogueday.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 jakarta.persistence.OneToMany;
import java.util.List;
import lombok.Getter;
import woowacourse.touroot.travelogue.domain.Travelogue;
import woowacourse.touroot.travelogueplace.domain.TraveloguePlace;

@Getter
@Entity
public class TravelogueDay {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private Integer order;

@JoinColumn(nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
private Travelogue travelogue;

@OneToMany(mappedBy = "travelogueDay")
private List<TraveloguePlace> places;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package woowacourse.touroot.traveloguephoto.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 lombok.Getter;
import woowacourse.touroot.travelogueplace.domain.TraveloguePlace;

@Getter
@Entity
public class TraveloguePhoto {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private String key;

@Column(nullable = false)
private Integer order;

@JoinColumn(nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
private TraveloguePlace place;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package woowacourse.touroot.travelogueplace.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 jakarta.persistence.OneToMany;
import java.util.List;
import lombok.Getter;
import woowacourse.touroot.place.domain.Place;
import woowacourse.touroot.travelogueday.domain.TravelogueDay;
import woowacourse.touroot.traveloguephoto.domain.TraveloguePhoto;

@Getter
@Entity
public class TraveloguePlace {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private Integer order;

private String description;

@JoinColumn(nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
private Place place;

@JoinColumn(nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
private TravelogueDay day;

@OneToMany(mappedBy = "traveloguePlace")
private List<TraveloguePhoto> photos;
}

0 comments on commit f8d6982

Please sign in to comment.