Skip to content

[week04] 징징이 4주차 미션#4

Open
junjinyun wants to merge 4 commits intomainfrom
week04_jingjing2
Open

[week04] 징징이 4주차 미션#4
junjinyun wants to merge 4 commits intomainfrom
week04_jingjing2

Conversation

@junjinyun
Copy link
Copy Markdown

키워드

여태 까지는 컨버터가 아닌 DTO와 Entity 에 to dto, 와 to entity 로 변환을 하는 방식을 사용 했엇는데 이런 방법도 있엇다는걸 알게 되어 추후 관련 기능을 구현 할 때는 가능하면 해당 방법으로 하는것이 좋겠다는 생각을 하게 됨

실기

보통 프로젝트 세팅 할 때 작업을 하기 위해서 erd, api 명세서를 핵심 기능 + 최소한의 기능만 작성(개발 하면서 필요에 따라 확장 및 수정이 용이 하도록) 한 다음에 시작하고 진행하면서 뻗어 나가는 형식을 선호하는 편인데,
처음부터 erd가 다 짜져 있는 상태에서 하려니, 전체적인 코드를 어떻게 짤지 생각하는 단계에서 컨트롤러, dto, 엔티티 부분에서 양식이 픽스가 되게 되어 이를 어떻게 첫 단추를 꿰어야 하나 혼동이 와서 엔티티와 레포지토리만 작성하고 제출하게 됨.

@junjinyun junjinyun self-assigned this Apr 9, 2026
Copy link
Copy Markdown
Contributor

@yousung1020 yousung1020 left a comment

Choose a reason for hiding this comment

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

전체적으로 프로젝트 초기 세팅 뿐만 아니라 어느정도 엔티티 연관관계 설정까지 하신 것이 좋아보입니다! 엔티티 간 연관관계 설정(단방향, 양방향 매핑)에 대해서 앞으로 조금만 더 학습하시고 엔티티 설계의 수정이 이루어지면 더욱 견고한 엔티티 세팅이 될 것 같습니다! 수고하셨습니다!

@Entity
public class Mission {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long msid;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

기본키 필드 이름을 id로 바꾸시는 것을 추천드립니다! 그 이유는 다음과 같습니다.

  1. QueryDsl 및 JPQL 사용의 편의성: mission.id처럼 직관적으로 접근할 수 있으며, 공통 인터페이스나 base entity를 만들 때 필드 이름이 통일되어 있으면 관리가 훨씬 편합니다.
  2. JPA 메서드 쿼리의 특성: 쿼리 메서드를 만들 때 findById가 기본이므로, 필드 이름이 id일 때 가장 자연스럽습니다.
  3. 일관성 측면: 모든 엔티티의 기본키가 id라면, 다른 개발자들이 코드를 볼 때 "이게 식별자구나"라고 바로 파악할 수 있을 것입니다.
  • 종합적으로 생각해본다면, 데이터베이스의 칼럼 이름 자체를 msid와 같이 설정하고자 한다면 @Column(name = "msid") 와 같이 작성하시고, 객체지향적인 설계를 위해 자바 객체 필드명은 id로 통일하시는게 좋을 것 같다는 의견입니다!
Suggested change
private Long msid;
private Long id;

@heesik03
Copy link
Copy Markdown

엔티티에 실제 값까지 세세하게 넣은 부분이 좋았습니다.
앞으로도 더 꼼꼼한 미션 기대하겠습니다 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants