Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions src/main/java/umc/codeplay/domain/Harmony.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package umc.codeplay.domain;

import jakarta.persistence.*;

import lombok.*;

import umc.codeplay.domain.common.BaseEntity;

@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class Harmony extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

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

private String harmonyKey;

private String scale;

private String chord;

private Integer bpm;

private Integer soundPressure;

@Column(columnDefinition = "TEXT")
private String harmonyUrl;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "music_id")
private Music music;
}
11 changes: 7 additions & 4 deletions src/main/java/umc/codeplay/domain/Member.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package umc.codeplay.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.*;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Expand Down Expand Up @@ -35,4 +32,10 @@ public class Member {
public void encodePassword(String password) {
this.password = password;
}

@Column(columnDefinition = "TEXT")
private String profileUrl;

// @OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
// private List<Like> likeList = new ArrayList<>();
}
28 changes: 28 additions & 0 deletions src/main/java/umc/codeplay/domain/Music.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package umc.codeplay.domain;

import jakarta.persistence.*;

import lombok.*;

import umc.codeplay.domain.common.BaseEntity;

@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class Music extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

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

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

// @OneToMany(mappedBy = "music", cascade = CascadeType.ALL)
// private List<Like> likeList = new ArrayList<>();
}
35 changes: 35 additions & 0 deletions src/main/java/umc/codeplay/domain/Track.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package umc.codeplay.domain;

import jakarta.persistence.*;

import lombok.*;

import umc.codeplay.domain.common.BaseEntity;

@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class Track extends BaseEntity {

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

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

@Column(columnDefinition = "TEXT")
private String guitarUrl;

@Column(columnDefinition = "TEXT")
private String drumUrl;

@Column(columnDefinition = "TEXT")
private String keyboardUrl;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "music_id")
private Music music;
}
20 changes: 20 additions & 0 deletions src/main/java/umc/codeplay/domain/common/BaseEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package umc.codeplay.domain.common;

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 createdAt;

@LastModifiedDate private LocalDateTime updatedAt;
}
28 changes: 28 additions & 0 deletions src/main/java/umc/codeplay/domain/mapping/MusicLike.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package umc.codeplay.domain.mapping;

import jakarta.persistence.*;

import lombok.*;

import umc.codeplay.domain.Member;
import umc.codeplay.domain.Music;
import umc.codeplay.domain.common.BaseEntity;

@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class MusicLike extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "music_id")
private Music music;
}
Loading