반응형
나는 체크리스트와, 각 체크리스트 안에 들어가는 준비물을 따로 만들었다.
Checklist Entity
@Entity
@Data
@Getter
@Setter
@AllArgsConstructor
public class ChecklistEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // cid 자동 증가
@Column(name = "cid") //checklist id를 cid라고 설정
private int cId;
@Column(nullable = false, name = "title")
private String title; //제목
@Column(name = "state")
private int state;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "checklist")
private List<ItemEntity> checklistItems;
// 생성자를 통해 checklistItems 필드를 빈 리스트로 초기화
public ChecklistEntity() {
this.checklistItems = new ArrayList<>();
}
}
pk로 checklist id를 cid로 생성하였고, 체크리스트의 제목을 나타내는 title, 상태를 나타내는 state를 추가해두었다.
Item Entity
@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class ItemEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // 자동 증가
private Long id;
@JoinColumn(nullable = false)
private String name;
@JoinColumn(nullable = false)
private Boolean ischecked;
@ManyToOne
private ChecklistEntity checklist;
}
나는 각 체크리스트 내에 들어가는 준비물에 대하여 Item이라고 설정한후, Entity를 따로 만들었다.
Item Entity에는 @GeneratedValue 어노테이션을 활용하여 id가 자동 증가하도록 하였다.
item의 id를 받는 id, 준비물명을 저장하는 name, 챙겼는지를 확인하는 ischecked를 만들었다.
그리고 Checklist Entity를 ManytoOne을 받아서 한 체크리스트에 대하여 Item을 여러개 저장할 수 있도록 하였다.
반응형
'Develop > Spring Boot' 카테고리의 다른 글
[Spring JPA] 5. 체크리스트 만들기 - Repository, DTO 설정하기 (0) | 2023.08.28 |
---|---|
[Spring JPA] 4. 체크리스트 만들기 - Service 설정하기 (0) | 2023.08.28 |
[Spring JPA] 3. 체크리스트 만들기 - Controller 설정하기 (0) | 2023.08.28 |
[Spring JPA] 1. 체크리스트 만들기 - 초기 설정하기 (0) | 2023.08.25 |
[Error] HikariPool-1 - Thread starvation or clock leap detected (0) | 2023.08.05 |