inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển ứng dụng web dựa trên Spring và JPA

Cập nhật hồ sơ

프로필 수정 처리 merge 질문입니다.

104

hyuk2000s8968

4 câu hỏi đã được viết

0

강의 잘 듣고있습니다. 현재 service단의 update메서드에는 merge로 병합처리를 하고있지만 accountRepository에서 findById와 같이 수정할 account객체를 찾아내서 영속화를 시켜준뒤에 수정을 하면 dirty checking으로 인한 수정법이 더 안전한 방법일까라고 생각이되서 질문드립니다.

java spring spring-boot jpa thymeleaf

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이승혁님.

프로필 수정 시, 영속성 관리를 어떻게 할지에 관한 질문을 주셨네요. mergedirty checking 모두 데이터 수정을 위한 방식으로 사용되며 각각 장단점이 있습니다.

  1. merge 사용:

    • merge는 준영속성 상태의 객체를 다시 영속 상태로 변경하는 과정에서 사용됩니다.
    • 이것은 객체를 새롭게 만드는 작업을 포함하여, 성능 상의 오버헤드가 발생할 수 있습니다.
    • 상태가 확실하지 않은 객체를 업데이트할 때 유용합니다.
  2. findById와 dirty checking 사용:

    • findById로 영속 상태의 객체를 반환받아 수정을 진행하면, JPA의 dirty checking이 동작하여 변경사항이 자동으로 검출되고 commit 시점에 DB에 반영됩니다.
    • 이는 기본적으로 JPA가 엔티티 상태를 유지하고 관리하며, 객체 상태와 데이터베이스 간의 일관성을 보장하는 더 효율적인 방법입니다.
    • 변경 사항이 자동으로 반영되기 때문에 직접 저장을 호출할 필요가 없어서 개발자 입장에서는 코드를 더 명확하게 관리할 수 있습니다.

따라서, 이미 식별 가능한 ID가 있는 경우 dirty checking 방식이 더 효율적이고 안전한 방법으로 볼 수 있습니다. JPA의 강력함을 충분히 활용하기 때문입니다.

관련된 질문들은 아래에서 확인하실 수 있습니다:

위 링크들은 프로필 수정 및 영속성에 대한 더 많은 정보와 다른 학습자의 질문 및 답변을 포함하고 있습니다. 이 방법들을 고려하여 상황에 맞게 선택하시는 것을 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Study 개설하는 로직에 대해서 궁금점이 있습니다.

0

53

1

앱 재시작 후 회원가입

0

99

1

app.host 관련 질문이 있습니다

0

96

1

강의 버전 정보

0

124

1

event, study 참조

0

218

2

비밀번호 변경 로직 질문있습니다.

0

133

1

회원가입 성공 후 redirect이동시 권한 질문

0

490

3

HtmlEmailService 개발하다 생긴 의문입니다

0

248

2

postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다

0

428

2

수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다

0

259

2

[긴급-재업로드]수업질문 로그인 안 되는 문제

0

234

1

[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요

0

275

1

cropper 오류 문제로 질문드립니다..

0

284

2

authentication관련 질문...

0

493

2

모임참가 취소 할때 로직 질문

0

349

3

안녕하세요 기선님 질문이있습니다..

0

228

1

HTML코드 및 강의 중간자료들

0

677

3

springSecurity

0

519

2

버전 질문입니다.

0

299

1

부트스트랩, css

0

350

2

영속성 컨텍스트 질문

0

245

2

다시 강의를 보니 드는생각..

0

349

2

5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?

0

311

1

세팅 질문있습니다.

0

341

1