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

[feat] 엔티티 클래스 매핑 #7

Merged
merged 6 commits into from
Jan 4, 2024
Merged

[feat] 엔티티 클래스 매핑 #7

merged 6 commits into from
Jan 4, 2024

Conversation

SunwoongH
Copy link
Member

Related Issue 📌

Description ✔️

  • User Entity 클래스를 구현하였습니다. (Database 'user' 예약어로 인해 Entity는 User, Table은 users로 지정했습니다.)
  • Participant Entity 클래스를 구현하였습니다.
  • Trip Entity 클래스를 구현하였습니다.
  • Todo Entity 클래스를 구현하였습니다.
  • Allocator Entity 클래스를 구현하였습니다.
  • Setter 어노테이션은 의도가 불명확하고 변경하면 안 되는 값을 변경할 여지가 있기 때문에 안정성을 보장할 수 없어서 열어두지 않았습니다. 수정자가 필요한 경우 변경 의도를 확인할 수 있는 의미 있는 이름의 메서드를 추가하여 사용하면 좋을 것 같습니다.
  • 매개 변수가 많아져도 높은 가독성 유지가 가능하고 필요한 데이터만 추가할 수 있도록 Builder 어노테이션을 적용하였습니다. 또한, 엔티티 내부에서 정적 생성 메서드를 활용하여 엔티티 생성을 제한하고 관리할 수 있도록 설계하면 좋을 것 같아 접근 레벨을 private으로 지정하였습니다. 동일한 이유로 AllArgsConstructor 어노테이션의 접근 레벨도 private으로 지정하였습니다.
  • JPA 기본 스펙 상 기본 생성자를 요구하기 때문에 NoArgsConstructor 어노테이션을 적용하였습니다. 또한, 여러 위치에서 무분별한 엔티티 객체 생성을 방지하고 지연 로딩의 경우 프록시 객체가 해당 엔티티 클래스를 상속받을 수 있도록 접근 레벨을 private이 아닌 protected로 지정하였습니다.

Copy link
Member

@gardening-y gardening-y left a comment

Choose a reason for hiding this comment

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

굿굿 좋아요!

@SunwoongH SunwoongH merged commit b57de69 into develop Jan 4, 2024
1 check passed
@SunwoongH SunwoongH deleted the feature/6 branch July 11, 2024 04:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 엔티티 클래스 매핑
2 participants