-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathMember.java
More file actions
51 lines (41 loc) · 1.49 KB
/
Member.java
File metadata and controls
51 lines (41 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.example.jpa.member.domain;
import com.example.jpa.board.domain.Board;
import com.example.jpa.exception.DuplicateMemberException;
import com.example.jpa.member.dto.request.MemberUpdateRequest;
import com.example.jpa.reply.domain.Reply;
import jakarta.persistence.*;
import lombok.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "member_id")
private Long id;
private String name;
private int age;
private String phoneNumber;
@OneToMany(mappedBy = "writer", orphanRemoval = true)
private List<Board> boardList = new ArrayList<>();
@OneToMany(mappedBy = "member", orphanRemoval = true)
private List<Reply> replyList = new ArrayList<>();
@Builder
public Member(Long id, String name, int age, String phoneNumber) {
this.name = name;
this.age = age;
this.phoneNumber = phoneNumber;
}
public void update(MemberUpdateRequest memberUpdateRequest) {
this.name = memberUpdateRequest.getName();
this.age = memberUpdateRequest.getAge();
this.phoneNumber = memberUpdateRequest.getPhoneNumber();
}
public void hasSamePhoneNumber(String phoneNumber) throws DuplicateMemberException {
if(this.phoneNumber.equals(phoneNumber)) {
throw new DuplicateMemberException("이미 가입한 사용자입니다.");
}
}
}