Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Member 생성, 조회, 수정 구현 #12

Merged
merged 13 commits into from
Jan 22, 2025
Merged
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

class 에 transactional readOnly 걸고, write 하는 메소드만 다시 어노테이션 거는게 어떠하옵니까

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.gdgoc.study_group.member.application;

import com.gdgoc.study_group.member.dao.MemberRepository;
import com.gdgoc.study_group.member.domain.Member;
import com.gdgoc.study_group.member.dto.MemberCreateRequestDto;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class MemberService {

private final MemberRepository memberRepository;

// public MemberService(MemberRepository memberRepository) {
// this.memberRepository = memberRepository;
// }

/**
* 멤버를 생성합니다.
*
* @param request 생성할 멤버의 정보
* @return 생성된 정보를 Member 형식으로 반환
*/
public Member createMember(MemberCreateRequestDto request) {

Member newMember = Member.builder()
.name(request.getName())
.github(request.getGithub())
.studentNumber(request.getStudentNumber())
.build();

return memberRepository.save(newMember);
}
}
5 changes: 5 additions & 0 deletions src/main/java/com/gdgoc/study_group/member/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,15 @@
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import lombok.*;
import java.util.ArrayList;
import java.util.List;

@Entity
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

builder 로만 생성가능하도록
access = private 로 추가하면 어떨까요

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

허허 이미 그렇게 올라가있느니라

@Getter
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DTO 는 record 로 바꾸는게 권장드리옵니다

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.gdgoc.study_group.member.dto;

import lombok.Getter;

@Getter
public class MemberCreateRequestDto {

private String name;
private String github;
private String studentNumber;

}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이것도 record 로 바꿔드리기를 간청드리옵니다

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.gdgoc.study_group.member.dto;

import lombok.Getter;

@Getter
public class MemberUpdateRequestDto {

private String name;
private String github;
private String studentNumber;

}