Skip to content

Commit a6909f6

Browse files
authored
Merge pull request #1 from prgrms-web-devcourse-final-project/OPS-117-Jira-커밋-테스트
OPS-117 Jira 작동 테스트
1 parent a463938 commit a6909f6

File tree

1 file changed

+19
-28
lines changed
  • src/main/java/org/tuna/zoopzoop/backend/domain/member/entity

1 file changed

+19
-28
lines changed

src/main/java/org/tuna/zoopzoop/backend/domain/member/entity/Member.java

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import jakarta.persistence.*;
44
import lombok.Builder;
55
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
67
import lombok.Setter;
78
import org.tuna.zoopzoop.backend.domain.archive.archive.entity.PersonalArchive;
89
import org.tuna.zoopzoop.backend.domain.space.membership.entity.MemberShip;
@@ -13,54 +14,44 @@
1314
@Setter
1415
@Getter
1516
@Entity
17+
@NoArgsConstructor
1618
public class Member extends BaseEntity {
17-
//사용자 이름
18-
//UNIQUE 해야 하나?
19+
//---------- 필드 ----------//
1920
@Column(unique = true, nullable = false)
2021
private String name;
2122

22-
//사용자 이메일
23-
//검색 조건으로 사용할 것이므로, UNIQUE 해야함.
2423
@Column(unique = true, nullable = false)
2524
private String email;
2625

27-
//사용자 프로필 이미지 URL
2826
@Column
2927
private String profileImageUrl;
3028

31-
//soft-delete 용 status
32-
//default = true;
3329
@Column
34-
private Boolean active;
30+
private Boolean active; //soft-delete 용 status, default = true;
3531

32+
//---------- 연관 관계 ----------//
3633
@OneToOne(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true)
37-
private PersonalArchive personalArchive;
34+
private PersonalArchive personalArchive; //PersonalArchive(Archive 매핑 테이블), 1:1 관계, cascade.all
3835

39-
//연결된 MemberShip
40-
//Space 삭제시 cascade.all
4136
@OneToMany(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true)
42-
private List<MemberShip> memberShips;
37+
private List<MemberShip> memberShips; //MemberShip, 1:N 관계, cascade.all
4338

44-
public Member() {
45-
this.personalArchive = new PersonalArchive(this);
46-
}
47-
48-
/**
49-
* Member 엔티티 빌더
50-
*
51-
* @param name 사용자 이름
52-
* @param email 사용자 이메일
53-
* @param profileImageUrl 사용자 프로필 이미지 URL
54-
*/
55-
//이런 형식으로 작성해주시면 됩니다.
56-
//물론 지금처럼 코드가 직관적인 경우에는, 굳이 작성 하실 필요 없습니다.
57-
//해당 방식으로 작성하실 경우, 도구 -> javadoc 생성을 통해 자동 문서화가 가능합니다.
58-
//추가로 @return과 같은 어노테이션도 사용이 가능합니다.
39+
//---------- 생성자 ----------//
5940
@Builder
6041
public Member(String name, String email, String profileImageUrl) {
6142
this.name = name;
6243
this.email = email;
6344
this.profileImageUrl = profileImageUrl;
64-
this.personalArchive = new PersonalArchive(this);
45+
this.active = true;
46+
this.personalArchive = new PersonalArchive(this); //Member 객체 생성 시 PersonalArchive 자동 생성.
47+
}
48+
49+
//---------- 메소드 ----------//
50+
public void updateName(String name) { //사용자 이름 수정
51+
this.name = name;
52+
}
53+
54+
public void deactivate() { //사용자 비활성화(=soft-delete)
55+
this.active = false;
6556
}
6657
}

0 commit comments

Comments
 (0)