From 3367d64ec40c40aea7084eac219d064c25831d6d Mon Sep 17 00:00:00 2001 From: dltjdn Date: Mon, 27 Mar 2023 19:53:36 +0900 Subject: [PATCH 1/3] x --- .../kotlin/com/record/zooc/domain/Alarm.kt | 47 +++++++++++++++++ .../kotlin/com/record/zooc/domain/Comment.kt | 39 +++++++++++++++ .../com/record/zooc/domain/EmojiComment.kt | 15 ++++++ .../kotlin/com/record/zooc/domain/Family.kt | 27 ++++++++++ .../kotlin/com/record/zooc/domain/FcmToken.kt | 39 +++++++++++++++ .../kotlin/com/record/zooc/domain/Memory.kt | 50 +++++++++++++++++++ .../kotlin/com/record/zooc/domain/Mission.kt | 17 +++++++ .../com/record/zooc/domain/MissionMemory.kt | 14 ++++++ src/main/kotlin/com/record/zooc/domain/Pet.kt | 47 +++++++++++++++++ .../com/record/zooc/domain/RecordMemory.kt | 8 +++ .../com/record/zooc/domain/TextComment.kt | 12 +++++ .../kotlin/com/record/zooc/domain/Users.kt | 42 ++++++++++++++++ 12 files changed, 357 insertions(+) create mode 100644 src/main/kotlin/com/record/zooc/domain/Alarm.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Comment.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/EmojiComment.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Family.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/FcmToken.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Memory.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Mission.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/MissionMemory.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Pet.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/RecordMemory.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/TextComment.kt create mode 100644 src/main/kotlin/com/record/zooc/domain/Users.kt diff --git a/src/main/kotlin/com/record/zooc/domain/Alarm.kt b/src/main/kotlin/com/record/zooc/domain/Alarm.kt new file mode 100644 index 0000000..49cf369 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Alarm.kt @@ -0,0 +1,47 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Index +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table( + name = "alarm", + indexes = [ + Index(name = "alarm_users_id_index", columnList = "user_id"), + Index(name = "alarm_family_id_index", columnList = "family_id"), + Index(name = "alarm_memory_id_index", columnList = "memory_id"), + ], +) +class Alarm( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now(), + + @ManyToOne + @JoinColumn(name = "user_id") + val users: Users, + + @ManyToOne + @JoinColumn(name = "family_id") + val family: Family, + + @ManyToOne + @JoinColumn(name = "memory_id") + val record: Memory, + +) diff --git a/src/main/kotlin/com/record/zooc/domain/Comment.kt b/src/main/kotlin/com/record/zooc/domain/Comment.kt new file mode 100644 index 0000000..f0c6c9e --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Comment.kt @@ -0,0 +1,39 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.DiscriminatorColumn +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Inheritance +import jakarta.persistence.InheritanceType +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table(name = "comment") +@Inheritance(strategy = InheritanceType.JOINED) +@DiscriminatorColumn(name = "DTYPE") +class Comment( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @ManyToOne + @JoinColumn(name = "user_id") + val users: Users, + + @ManyToOne + @JoinColumn(name = "memory_id") + val memory: Memory, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now(), +) diff --git a/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt b/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt new file mode 100644 index 0000000..d175843 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt @@ -0,0 +1,15 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.DiscriminatorValue +import jakarta.persistence.Entity + +@Entity +@DiscriminatorValue("EMOJICOMMENT") +class EmojiComment ( + + @Column(name = "emoji", nullable = false) + var emoji: String, + +): Comment(() +) diff --git a/src/main/kotlin/com/record/zooc/domain/Family.kt b/src/main/kotlin/com/record/zooc/domain/Family.kt new file mode 100644 index 0000000..5edb87b --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Family.kt @@ -0,0 +1,27 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table(name = "family") +class Family( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "code", nullable = false) + var code: String, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now() +) diff --git a/src/main/kotlin/com/record/zooc/domain/FcmToken.kt b/src/main/kotlin/com/record/zooc/domain/FcmToken.kt new file mode 100644 index 0000000..5e6106e --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/FcmToken.kt @@ -0,0 +1,39 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Index +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table( + name = "fcmtoken", + indexes = [ + Index(name = "fcmtoken_users_id_index", columnList = "user_id"), + ], +) +class FcmToken( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "fcm_token", nullable = false) + var fcmToken: String, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now(), + + @ManyToOne + @JoinColumn(name = "user_id") + val users: Users, +) diff --git a/src/main/kotlin/com/record/zooc/domain/Memory.kt b/src/main/kotlin/com/record/zooc/domain/Memory.kt new file mode 100644 index 0000000..b2fe555 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Memory.kt @@ -0,0 +1,50 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.DiscriminatorColumn +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Inheritance +import jakarta.persistence.InheritanceType +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToMany +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table(name = "memory") +@Inheritance(strategy = InheritanceType.JOINED) +@DiscriminatorColumn(name = "DTYPE") +class Memory { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0 + + @Column(name = "image") + var image: String? = null + + @Column(name = "content") + var content: String? = null + + @ManyToOne + @JoinColumn(name = "user_id") + val users: Users? = null + + // @ManyToMany + // @JoinColumn(name = "pet_id") + // val pet: Pet? = null + + @ManyToOne + @JoinColumn(name = "family_id") + val family: Family? = null + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now() + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now() +} diff --git a/src/main/kotlin/com/record/zooc/domain/Mission.kt b/src/main/kotlin/com/record/zooc/domain/Mission.kt new file mode 100644 index 0000000..4a8e1f5 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Mission.kt @@ -0,0 +1,17 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +@Entity +class Mission( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "content") + var content: String, +) diff --git a/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt b/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt new file mode 100644 index 0000000..ca238e2 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt @@ -0,0 +1,14 @@ +package com.record.zooc.domain + +import jakarta.persistence.DiscriminatorValue +import jakarta.persistence.Entity +import jakarta.persistence.JoinColumn +import jakarta.persistence.OneToOne + +@Entity +@DiscriminatorValue("MISSIONMEMORY") +class MissionMemory : Memory() { + @OneToOne + @JoinColumn(name = "mission_id") + val mission: Mission? = null +} diff --git a/src/main/kotlin/com/record/zooc/domain/Pet.kt b/src/main/kotlin/com/record/zooc/domain/Pet.kt new file mode 100644 index 0000000..db7c433 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Pet.kt @@ -0,0 +1,47 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Index +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import java.time.LocalDateTime + +@Entity +@Table( + name = "pets", + indexes = [ + Index(name = "pet_users_id_index", columnList = "user_id"), + Index(columnList = "user_id", name = "pet_users_id_index"), + ], +) +class Pet( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "profile_image") + var profileImage: String, + + @Column(name = "name") + var name: String, + + @ManyToOne + @JoinColumn(name = "user_id") + val users: Users, + + @ManyToOne + @JoinColumn(name = "family_id") + val family: Family, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now() +) diff --git a/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt b/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt new file mode 100644 index 0000000..4d30fbb --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt @@ -0,0 +1,8 @@ +package com.record.zooc.domain + +import jakarta.persistence.DiscriminatorValue +import jakarta.persistence.Entity + +@Entity +@DiscriminatorValue("RECORDMEMORY") +class RecordMemory : Memory() diff --git a/src/main/kotlin/com/record/zooc/domain/TextComment.kt b/src/main/kotlin/com/record/zooc/domain/TextComment.kt new file mode 100644 index 0000000..e06a2ab --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/TextComment.kt @@ -0,0 +1,12 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.DiscriminatorValue +import jakarta.persistence.Entity + +@Entity +@DiscriminatorValue("TEXTCOMMENT") +class TextComment : Comment() { + @Column(name = "content", nullable = false) + var content: String? = null +} diff --git a/src/main/kotlin/com/record/zooc/domain/Users.kt b/src/main/kotlin/com/record/zooc/domain/Users.kt new file mode 100644 index 0000000..e1623a6 --- /dev/null +++ b/src/main/kotlin/com/record/zooc/domain/Users.kt @@ -0,0 +1,42 @@ +package com.record.zooc.domain + +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint +import java.time.LocalDateTime + +@Entity +@Table( + name = "user", + uniqueConstraints = [ + UniqueConstraint(name = "user_id_uindex", columnNames = ["id"]), + ], +) +class Users( + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + var id: Int = 0, + + @Column(name = "sns_token", nullable = false) + var snsToken: String, + + @Column(name = "sns_type", nullable = false) + var snsType: String, + + @Column(name = "user_email", nullable = false) + var userEmail: String, + + @Column(name = "profile_image") + var profileImage: String, + + @Column(name = "created_at") + var createdAt: LocalDateTime = LocalDateTime.now(), + + @Column(name = "updated_at") + var updatedAt: LocalDateTime = LocalDateTime.now() +) From 22f7b803df111d7ef35ca3bf2095e145705c1f50 Mon Sep 17 00:00:00 2001 From: dltjdn Date: Mon, 27 Mar 2023 22:55:09 +0900 Subject: [PATCH 2/3] [FEAT] create entity --- .../kotlin/com/record/zooc/domain/Alarm.kt | 15 +---------- .../kotlin/com/record/zooc/domain/Comment.kt | 16 ++---------- .../com/record/zooc/domain/EmojiComment.kt | 9 +++---- .../kotlin/com/record/zooc/domain/Family.kt | 3 --- .../kotlin/com/record/zooc/domain/FcmToken.kt | 8 +----- .../kotlin/com/record/zooc/domain/Memory.kt | 25 ++++++++----------- .../kotlin/com/record/zooc/domain/Mission.kt | 2 +- .../com/record/zooc/domain/MissionMemory.kt | 17 +++++++++---- src/main/kotlin/com/record/zooc/domain/Pet.kt | 13 ++-------- .../com/record/zooc/domain/RecordMemory.kt | 13 +++++++--- .../com/record/zooc/domain/TextComment.kt | 10 ++++---- .../kotlin/com/record/zooc/domain/Users.kt | 8 +----- 12 files changed, 50 insertions(+), 89 deletions(-) diff --git a/src/main/kotlin/com/record/zooc/domain/Alarm.kt b/src/main/kotlin/com/record/zooc/domain/Alarm.kt index 49cf369..55118e1 100644 --- a/src/main/kotlin/com/record/zooc/domain/Alarm.kt +++ b/src/main/kotlin/com/record/zooc/domain/Alarm.kt @@ -5,21 +5,11 @@ import jakarta.persistence.Entity import jakarta.persistence.GeneratedValue import jakarta.persistence.GenerationType import jakarta.persistence.Id -import jakarta.persistence.Index import jakarta.persistence.JoinColumn import jakarta.persistence.ManyToOne -import jakarta.persistence.Table import java.time.LocalDateTime -@Entity -@Table( - name = "alarm", - indexes = [ - Index(name = "alarm_users_id_index", columnList = "user_id"), - Index(name = "alarm_family_id_index", columnList = "family_id"), - Index(name = "alarm_memory_id_index", columnList = "memory_id"), - ], -) +@Entity(name = "alarm") class Alarm( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -29,9 +19,6 @@ class Alarm( @Column(name = "created_at") var createdAt: LocalDateTime = LocalDateTime.now(), - @Column(name = "updated_at") - var updatedAt: LocalDateTime = LocalDateTime.now(), - @ManyToOne @JoinColumn(name = "user_id") val users: Users, diff --git a/src/main/kotlin/com/record/zooc/domain/Comment.kt b/src/main/kotlin/com/record/zooc/domain/Comment.kt index f0c6c9e..366363e 100644 --- a/src/main/kotlin/com/record/zooc/domain/Comment.kt +++ b/src/main/kotlin/com/record/zooc/domain/Comment.kt @@ -8,29 +8,17 @@ import jakarta.persistence.GenerationType import jakarta.persistence.Id import jakarta.persistence.Inheritance import jakarta.persistence.InheritanceType -import jakarta.persistence.JoinColumn -import jakarta.persistence.ManyToOne -import jakarta.persistence.Table import java.time.LocalDateTime -@Entity -@Table(name = "comment") +@Entity(name = "comment") @Inheritance(strategy = InheritanceType.JOINED) -@DiscriminatorColumn(name = "DTYPE") +@DiscriminatorColumn(name = "comment_Type") class Comment( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) var id: Int = 0, - @ManyToOne - @JoinColumn(name = "user_id") - val users: Users, - - @ManyToOne - @JoinColumn(name = "memory_id") - val memory: Memory, - @Column(name = "created_at") var createdAt: LocalDateTime = LocalDateTime.now(), diff --git a/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt b/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt index d175843..76e9899 100644 --- a/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt +++ b/src/main/kotlin/com/record/zooc/domain/EmojiComment.kt @@ -4,12 +4,11 @@ import jakarta.persistence.Column import jakarta.persistence.DiscriminatorValue import jakarta.persistence.Entity -@Entity -@DiscriminatorValue("EMOJICOMMENT") -class EmojiComment ( +@Entity(name = "emoji_comment") +@DiscriminatorValue("EmojiComment") +class EmojiComment( @Column(name = "emoji", nullable = false) var emoji: String, -): Comment(() -) +) : Comment() diff --git a/src/main/kotlin/com/record/zooc/domain/Family.kt b/src/main/kotlin/com/record/zooc/domain/Family.kt index 5edb87b..a86ed35 100644 --- a/src/main/kotlin/com/record/zooc/domain/Family.kt +++ b/src/main/kotlin/com/record/zooc/domain/Family.kt @@ -21,7 +21,4 @@ class Family( @Column(name = "created_at") var createdAt: LocalDateTime = LocalDateTime.now(), - - @Column(name = "updated_at") - var updatedAt: LocalDateTime = LocalDateTime.now() ) diff --git a/src/main/kotlin/com/record/zooc/domain/FcmToken.kt b/src/main/kotlin/com/record/zooc/domain/FcmToken.kt index 5e6106e..7c6ceb9 100644 --- a/src/main/kotlin/com/record/zooc/domain/FcmToken.kt +++ b/src/main/kotlin/com/record/zooc/domain/FcmToken.kt @@ -11,13 +11,7 @@ import jakarta.persistence.ManyToOne import jakarta.persistence.Table import java.time.LocalDateTime -@Entity -@Table( - name = "fcmtoken", - indexes = [ - Index(name = "fcmtoken_users_id_index", columnList = "user_id"), - ], -) +@Entity(name = "fcmtoken") class FcmToken( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/kotlin/com/record/zooc/domain/Memory.kt b/src/main/kotlin/com/record/zooc/domain/Memory.kt index b2fe555..8208020 100644 --- a/src/main/kotlin/com/record/zooc/domain/Memory.kt +++ b/src/main/kotlin/com/record/zooc/domain/Memory.kt @@ -9,30 +9,27 @@ import jakarta.persistence.Id import jakarta.persistence.Inheritance import jakarta.persistence.InheritanceType import jakarta.persistence.JoinColumn -import jakarta.persistence.ManyToMany import jakarta.persistence.ManyToOne -import jakarta.persistence.Table import java.time.LocalDateTime -@Entity -@Table(name = "memory") +@Entity(name = "memory") @Inheritance(strategy = InheritanceType.JOINED) -@DiscriminatorColumn(name = "DTYPE") -class Memory { +@DiscriminatorColumn(name = "memory_type") +class Memory( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) - var id: Int = 0 + var id: Int, @Column(name = "image") - var image: String? = null + var image: String, @Column(name = "content") - var content: String? = null + var content: String, @ManyToOne @JoinColumn(name = "user_id") - val users: Users? = null + val users: Users, // @ManyToMany // @JoinColumn(name = "pet_id") @@ -40,11 +37,11 @@ class Memory { @ManyToOne @JoinColumn(name = "family_id") - val family: Family? = null + val family: Family, @Column(name = "created_at") - var createdAt: LocalDateTime = LocalDateTime.now() + var createdAt: LocalDateTime = LocalDateTime.now(), @Column(name = "updated_at") - var updatedAt: LocalDateTime = LocalDateTime.now() -} + var updatedAt: LocalDateTime = LocalDateTime.now(), +) diff --git a/src/main/kotlin/com/record/zooc/domain/Mission.kt b/src/main/kotlin/com/record/zooc/domain/Mission.kt index 4a8e1f5..7422500 100644 --- a/src/main/kotlin/com/record/zooc/domain/Mission.kt +++ b/src/main/kotlin/com/record/zooc/domain/Mission.kt @@ -5,7 +5,7 @@ import jakarta.persistence.Entity import jakarta.persistence.GeneratedValue import jakarta.persistence.GenerationType import jakarta.persistence.Id -@Entity +@Entity(name = "mission") class Mission( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt b/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt index ca238e2..1a91937 100644 --- a/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt +++ b/src/main/kotlin/com/record/zooc/domain/MissionMemory.kt @@ -5,10 +5,17 @@ import jakarta.persistence.Entity import jakarta.persistence.JoinColumn import jakarta.persistence.OneToOne -@Entity -@DiscriminatorValue("MISSIONMEMORY") -class MissionMemory : Memory() { +@Entity(name = "mission_memory") +@DiscriminatorValue("MissionMemory") +class MissionMemory( + id: Int, + image: String, + content: String, + users: Users, + family: Family, + @OneToOne @JoinColumn(name = "mission_id") - val mission: Mission? = null -} + val mission: Mission, + +) : Memory(id, image, content, users, family) diff --git a/src/main/kotlin/com/record/zooc/domain/Pet.kt b/src/main/kotlin/com/record/zooc/domain/Pet.kt index db7c433..b4b9ad1 100644 --- a/src/main/kotlin/com/record/zooc/domain/Pet.kt +++ b/src/main/kotlin/com/record/zooc/domain/Pet.kt @@ -5,20 +5,11 @@ import jakarta.persistence.Entity import jakarta.persistence.GeneratedValue import jakarta.persistence.GenerationType import jakarta.persistence.Id -import jakarta.persistence.Index import jakarta.persistence.JoinColumn import jakarta.persistence.ManyToOne -import jakarta.persistence.Table import java.time.LocalDateTime -@Entity -@Table( - name = "pets", - indexes = [ - Index(name = "pet_users_id_index", columnList = "user_id"), - Index(columnList = "user_id", name = "pet_users_id_index"), - ], -) +@Entity(name = "pet") class Pet( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -43,5 +34,5 @@ class Pet( var createdAt: LocalDateTime = LocalDateTime.now(), @Column(name = "updated_at") - var updatedAt: LocalDateTime = LocalDateTime.now() + var updatedAt: LocalDateTime = LocalDateTime.now(), ) diff --git a/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt b/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt index 4d30fbb..b4ff42b 100644 --- a/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt +++ b/src/main/kotlin/com/record/zooc/domain/RecordMemory.kt @@ -3,6 +3,13 @@ package com.record.zooc.domain import jakarta.persistence.DiscriminatorValue import jakarta.persistence.Entity -@Entity -@DiscriminatorValue("RECORDMEMORY") -class RecordMemory : Memory() +@Entity(name = "record_memory") +@DiscriminatorValue("Record_Memory") +class RecordMemory( + id: Int, + image: String, + content: String, + users: Users, + family: Family, + +) : Memory(id, image, content, users, family) diff --git a/src/main/kotlin/com/record/zooc/domain/TextComment.kt b/src/main/kotlin/com/record/zooc/domain/TextComment.kt index e06a2ab..413a5d1 100644 --- a/src/main/kotlin/com/record/zooc/domain/TextComment.kt +++ b/src/main/kotlin/com/record/zooc/domain/TextComment.kt @@ -4,9 +4,9 @@ import jakarta.persistence.Column import jakarta.persistence.DiscriminatorValue import jakarta.persistence.Entity -@Entity -@DiscriminatorValue("TEXTCOMMENT") -class TextComment : Comment() { +@Entity(name = "text_comment") +@DiscriminatorValue("TextComment") +class TextComment( @Column(name = "content", nullable = false) - var content: String? = null -} + var content: String? = null, +) : Comment() diff --git a/src/main/kotlin/com/record/zooc/domain/Users.kt b/src/main/kotlin/com/record/zooc/domain/Users.kt index e1623a6..d46be2f 100644 --- a/src/main/kotlin/com/record/zooc/domain/Users.kt +++ b/src/main/kotlin/com/record/zooc/domain/Users.kt @@ -9,13 +9,7 @@ import jakarta.persistence.Table import jakarta.persistence.UniqueConstraint import java.time.LocalDateTime -@Entity -@Table( - name = "user", - uniqueConstraints = [ - UniqueConstraint(name = "user_id_uindex", columnNames = ["id"]), - ], -) +@Entity(name = "users") class Users( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) From e6c4a297a346868b640de51a92c26943dff01ab5 Mon Sep 17 00:00:00 2001 From: dltjdn Date: Mon, 27 Mar 2023 23:11:46 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[ADD]=20pet,=20memory=20ManyToMany=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/com/record/zooc/domain/Memory.kt | 8 +++++--- src/main/kotlin/com/record/zooc/domain/Pet.kt | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/record/zooc/domain/Memory.kt b/src/main/kotlin/com/record/zooc/domain/Memory.kt index 8208020..231741d 100644 --- a/src/main/kotlin/com/record/zooc/domain/Memory.kt +++ b/src/main/kotlin/com/record/zooc/domain/Memory.kt @@ -9,6 +9,8 @@ import jakarta.persistence.Id import jakarta.persistence.Inheritance import jakarta.persistence.InheritanceType import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany import jakarta.persistence.ManyToOne import java.time.LocalDateTime @@ -31,9 +33,9 @@ class Memory( @JoinColumn(name = "user_id") val users: Users, - // @ManyToMany - // @JoinColumn(name = "pet_id") - // val pet: Pet? = null + @ManyToMany + @JoinTable(name = "pet_memory") + val pets: List, @ManyToOne @JoinColumn(name = "family_id") diff --git a/src/main/kotlin/com/record/zooc/domain/Pet.kt b/src/main/kotlin/com/record/zooc/domain/Pet.kt index b4b9ad1..4ae3833 100644 --- a/src/main/kotlin/com/record/zooc/domain/Pet.kt +++ b/src/main/kotlin/com/record/zooc/domain/Pet.kt @@ -6,6 +6,8 @@ import jakarta.persistence.GeneratedValue import jakarta.persistence.GenerationType import jakarta.persistence.Id import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany import jakarta.persistence.ManyToOne import java.time.LocalDateTime @@ -30,6 +32,10 @@ class Pet( @JoinColumn(name = "family_id") val family: Family, + @ManyToMany + @JoinTable(name = "pet_memory") + val memories: List, + @Column(name = "created_at") var createdAt: LocalDateTime = LocalDateTime.now(),