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
Empty file.
17 changes: 17 additions & 0 deletions src/main/java/oncoding/concoder/model/Category.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package oncoding.concoder.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.validation.constraints.NotNull;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Category extends JpaBaseEntity {
@Column
@NotNull
private String name;
}
15 changes: 15 additions & 0 deletions src/main/java/oncoding/concoder/model/JpaBaseEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package oncoding.concoder.model;

import java.util.UUID;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import lombok.Getter;

@Getter
@MappedSuperclass
public class JpaBaseEntity {
@Id
@GeneratedValue
private UUID id;
}
17 changes: 17 additions & 0 deletions src/main/java/oncoding/concoder/model/Level.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package oncoding.concoder.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.validation.constraints.NotNull;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Level extends JpaBaseEntity {
@Column
@NotNull
private String name;
}
41 changes: 41 additions & 0 deletions src/main/java/oncoding/concoder/model/Problem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package oncoding.concoder.model;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotNull;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Problem extends JpaBaseEntity {
@Column(unique = true)
@NotNull
private Integer number;

@Column
@NotNull
private String title;

@Column
private Float rate;

@Column
@NotNull
private String content;

@ManyToOne(fetch = FetchType.EAGER)
private Level level;

@OneToMany(fetch = FetchType.EAGER, mappedBy = "problem")
private List<ProblemCategory> categories = new ArrayList<>();

}
18 changes: 18 additions & 0 deletions src/main/java/oncoding/concoder/model/ProblemCategory.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package oncoding.concoder.model;

import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class ProblemCategory extends JpaBaseEntity {
@ManyToOne
private Problem problem;

@ManyToOne
private Category category;
}
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package oncoding.concoder.repository;

import java.util.UUID;
import oncoding.concoder.model.Category;
import org.springframework.data.jpa.repository.JpaRepository;

public interface CategoryRepository extends JpaRepository<Category, UUID> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package oncoding.concoder.repository;

import java.util.UUID;
import oncoding.concoder.model.Level;
import org.springframework.data.jpa.repository.JpaRepository;

public interface LevelRepository extends JpaRepository<Level, UUID> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package oncoding.concoder.repository;

import java.util.UUID;
import oncoding.concoder.model.ProblemCategory;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ProblemCategoryRepository extends JpaRepository<ProblemCategory, UUID> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package oncoding.concoder.repository;

import java.util.UUID;
import oncoding.concoder.model.Problem;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ProblemRepository extends JpaRepository<Problem, UUID> {

}