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ơ

질문드립니다.

241

dkyou78425

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

1

안녕하세요. 개발 강의를 잘 듣고있는 개발자입니다. 먼저 덕분에 도움이 많이 되었습니다. 감사드립니다.

질문이 있는데

@Controller
@RequiredArgsConstructor
public class SettingsController {

private final AccountService accountService;

@GetMapping( "/settings/profile")
public String profileUpdateForm(@CurrentUser Account account, Model model){
model.addAttribute(account);
model.addAttribute(new Profile(account));
return "settings/profile";
}

@PostMapping( "/settings/profile")
public String updateProfile(@CurrentUser Account account, @Valid Profile profile, Errors errors, Model model,
RedirectAttributes attributes){
if(errors.hasErrors()){
model.addAttribute(account);
return "settings/profile";
}

accountService.updateProfile(account,profile);
attributes.addFlashAttribute("message","프로필을 수정했습니다."); // 한번 쓰고 말 데이터
return "redirect:/settings/profile";
}
}

해당 코드에서 @PostMapping 이후 @GetMapping으로 Redirect 된 후의 @CurrentUser Account account는 세션에 이미 있던 업데이트 되기 전의 계정이기 때문에 bio나 url이 없는 것으로 생각했는데요, 예상외로 잘 반영이 된 것 같아 어떻게 업데이트가 된 것인지 궁굼해서 질의드립니다.

감사합니다.^^

JPA java spring spring-boot thymeleaf

Câu trả lời 2

2

whiteship

네 모두 맞습니다.

2

dkyou78425

[자체해결 및 another Question]

질문을 하고 다시 강의를 들었더니 11분 경에 하셨던 이야기가 들리기 시작했네요.

1. @CurrentUser 에 있는 Account 객체는 deteched  상태. 즉, 영속성 컨택스트 내부에 아이디가 존재하지만, 연결이 되지 않은 상태라 아무리 set해줘도 반영되지 않는 상태입니다.

2. 하지만 accountRepository가 save 구문을 실행해주면 deteched가 다시 영속성 컨택스트에 반영되면서 set 정보들이 merge 되게 된다. 따라서 account 객체도 업데이트 되고, DB에도 반영되는 효과를 가지게 된다.

3. account 객체는 세션에 있는 객체이지만, 이 save 구문을 통해 정보가 업데이트 되었다. 

로 3번을 추론해보았는데요. 해당 사항이 맞는지, 추가적으로 알아야 할 정보가 있는지 궁굼합니다. 우선 제가 먼저 드린 질문에 대한 해답은 이미 해주셨네요. 감사합니다.

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

0

54

1

앱 재시작 후 회원가입

0

101

1

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

0

96

1

강의 버전 정보

0

124

1

event, study 참조

0

218

2

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

0

134

1

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

0

105

1

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

0

490

3

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

0

248

2

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

0

429

2

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

0

259

2

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

0

234

1

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

0

276

1

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

0

284

2

authentication관련 질문...

0

494

2

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

0

349

3

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

0

228

1

HTML코드 및 강의 중간자료들

0

678

3

springSecurity

0

519

2

버전 질문입니다.

0

300

1

부트스트랩, css

0

352

2

영속성 컨텍스트 질문

0

247

2

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

0

350

2

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

0

312

1