Skip to content

실전! 스프링 부트와 JPA. 활용1 ‐ 웹 애플리케이션 개발 : 섹션 7

minahkim03 edited this page May 27, 2024 · 1 revision

섹션 7: 웹 계층 개발

model.addAttribute("memberForm", new MemberForm());

  • 화면에서 이 객체에 접근을 할 수 있음.
  • @NotEmpty를 붙인 필드에 대해 파라미터에서 @Valid 어노테이션을 쓰면 스프링이 null인지 검증해줌.
  • BindingResult를 파라미터로 가져오면 에러가 발생했을 때 타임리프가 에러에 대한 내용을 화면에 띄울 수 있음.
  • 준영속 엔티티: 영속성 컨텍스트가 더는 관리하지 않는 엔티티 -> JPA가 관리를 하지 않기 때문에 더티체킹으로 인한 업데이트가 일어나지 않음. 해결책 1: 영속성 엔티티를 불러와서 바뀐 정보를 넣으면 JPA가 자동으로 더티체킹 후 flush를 함. (더 나은 방법) 해결책 2: 병합 사용 -> em.merge로 사용함. 모든 필드를 다 교체하기 때문에 실무에서는 위험함.