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

[디디] JPA 미션 제출합니다. #58

Merged
merged 10 commits into from
Jun 19, 2020
Merged

Conversation

fucct
Copy link

@fucct fucct commented Jun 17, 2020

안녕하세요 제이슨☺️
테스트 (동작) 주도 개발로 진행해서 코드가 매우 지저분하네요.. 일단 동작은 하네요 ..😭
지속적으로 리팩토링 하겠습니다... 이상하다 싶은 점 있다면 말씀해주시면 감사하겠습니다..

fucct added 7 commits June 17, 2020 22:03
- Favorite 메서드명 수정
- 정상적으로 동작하도록 메서드 수정
- data.sql 오류 제거
- EnableJdbcAuditingConfig.java 클래스 명 수정
- Favorite 생성자 파라미터명 수정
- 불필요한 fetchType 제거
- 불필요한 메서드 제거
Copy link

@woowahan-pjs woowahan-pjs left a comment

Choose a reason for hiding this comment

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

간단한 생각거리를 남겼으니 코드에 반영해 주셔도 좋습니다.
다음 리뷰 요청 때는 Merge 하도록 하겠습니다.

import lombok.Getter;
import lombok.NoArgsConstructor;

@MappedSuperclass

Choose a reason for hiding this comment

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

@MappedSuperclass 👍

Comment on lines +27 to +31
@CreatedDate
private LocalDateTime createdAt;

@LastModifiedDate
private LocalDateTime updatedAt;

Choose a reason for hiding this comment

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

아래의 글을 읽고 Audit 기능을 적용해 보세요.
https://umanking.github.io/jpa-audit

}

public void validateMember(Member member) {
if (!this.member.isSameId(member)) {

Choose a reason for hiding this comment

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

this.member.equals(member)와 같은 방법으로 구현할 수 있을까요?

Copy link
Author

@fucct fucct Jun 19, 2020

Choose a reason for hiding this comment

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

주신 피드백에 대해 고민을 많이 해봤습니다. 혹시 제가 이해한게 맞는지 확인해주시면 감사하겠습니다.😀

  1. Entity는 지연 로딩에서 프록시 객체를 반환하는데, equals는 class비교를 하므로 이를 감안하여 equals를 작성한다.
  2. Entity는 영속화되기 이전에 ID를 갖지 않으므로 null인 경우를 감안하여 equals를 작성한다.
    이 두 가지를 생각하여, null인 경우와 Hibernate.getClass를 이용하여 equals를 작성하였습니다. 혹시 이런 경우 외에도 제가 고민해야할만한 부분이 있을까요? 말씀해주신다면 찾아보도록 하겠습니다 😄

오우 제가 너무 생각이 많았던 것 같네요. 깊은 뜻이 있는 줄 알고.. Id만 비교하도록 수정했습니다..!

Choose a reason for hiding this comment

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

👍

fucct added 3 commits June 19, 2020 09:57
- JpaAuditing
- equals & hashcode
- createdBy, updatedBy 삭제
Copy link

@woowahan-pjs woowahan-pjs left a comment

Choose a reason for hiding this comment

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

Spring Data JPA로 바꾸느라 대단히 고생 많으셨습니다. 🥇
이만 Merge 하겠습니다.

@woowahan-pjs woowahan-pjs merged commit 47caadd into woowacourse:fucct Jun 19, 2020
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.

2 participants