Skip to content

Commit

Permalink
Merge pull request #27 from PLADI-ALM/feat/PDS-12-createEntity
Browse files Browse the repository at this point in the history
[PDS-12/feat] db 스키마 변경으로 인한 엔티티 생성 및 연관관계 수정
  • Loading branch information
dangnak2 authored Oct 2, 2023
2 parents 34bc9f3 + 2ee6e77 commit 5e43eb8
Show file tree
Hide file tree
Showing 8 changed files with 268 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.example.pladialmserver.booking.entity;

import com.example.pladialmserver.global.entity.BookingStatus;
import com.example.pladialmserver.resouce.entity.Resource;
import com.example.pladialmserver.user.entity.User;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Where;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@DynamicInsert
@DynamicUpdate
@Where(clause = "is_enable = true")
public class ResourceBooking {

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

@ManyToOne
@JoinColumn(nullable = false, name = "user_id")
private User user;

@ManyToOne
@JoinColumn(nullable = false, name = "resource_id")
private Resource resource;

@NotNull
private LocalDate startDate;

@NotNull
private LocalDate endDate;

@NotNull
private LocalDateTime returnDate;

@NotNull
@Size(max = 100)
private String memo;

private BookingStatus status = BookingStatus.WAITING;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.example.pladialmserver.equipment.entity;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum Category {

VEHICLE("차량"),
ACCESSORIES("악세사리"),
PC("컴퓨터"),
FILMING_EQUIPMENT("촬영장비"),
ETC("기타");

private final String value;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.example.pladialmserver.equipment.entity;

import com.example.pladialmserver.user.entity.User;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Where;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDate;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@DynamicInsert
@DynamicUpdate
@Where(clause = "is_enable = true")
public class Equipment {

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

@NotNull
@Size(max = 30)
private String name;

@NotNull
private Category category;

@NotNull
private Integer price;

@NotNull
private Integer quantity;

@NotNull
private LocalDate purchaseDate;

@ManyToOne
@JoinColumn(nullable = false, name = "user_id")
private User user;


}

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.example.pladialmserver.resouce.entity;

import com.example.pladialmserver.equipment.entity.Category;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Where;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Where(clause = "is_enable = true")
public class Resource {

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

@NotNull
@Size(max = 50)
private String name;

@NotNull
private Category category;

@NotNull
@Size(max = 255)
private String description;

@NotNull
@Size(max = 255)
private String imgUrl;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.example.pladialmserver.user.entity;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Where;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@DynamicInsert
@DynamicUpdate
@Where(clause = "is_enable = true")
public class Department {

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

@NotNull
@Size(max = 30)
private String name;

@OneToMany(mappedBy = "department")
private List<User> officeBookingList = new ArrayList<>();
}
36 changes: 36 additions & 0 deletions src/main/java/com/example/pladialmserver/user/entity/Position.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.example.pladialmserver.user.entity;

import com.example.pladialmserver.booking.entity.OfficeBooking;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Where;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@DynamicInsert
@DynamicUpdate
@Where(clause = "is_enable = true")
public class Position {

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

@NotNull
@Size(max = 30)
private String name;

@OneToMany(mappedBy = "position")
private List<User> officeBookingList = new ArrayList<>();
}
13 changes: 13 additions & 0 deletions src/main/java/com/example/pladialmserver/user/entity/Role.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.example.pladialmserver.user.entity;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum Role {
BASIC("일반"),
ADMIN("관리자");

private final String value;
}
24 changes: 24 additions & 0 deletions src/main/java/com/example/pladialmserver/user/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,30 @@ public class User extends BaseEntity {
@Size(max = 30)
private String name;

@NotNull
@Size(max = 30)
private String email;

@NotNull
@Size(max = 255)
private String password;

@ManyToOne
@JoinColumn(nullable = false, name = "department_id")
private Department department;

@ManyToOne
@JoinColumn(nullable = false, name = "position_id")
private Position position;

@NotNull
@Size(max = 30)
private String officeJob;

@NotNull
@Enumerated(value = EnumType.STRING)
private Role role;

@OneToMany(mappedBy = "user")
private List<OfficeBooking> officeBookingList = new ArrayList<>();

Expand Down

0 comments on commit 5e43eb8

Please sign in to comment.