JPA에 대해 다시 한 번 돌아보자! JPA를 학습한지 어언 한달이 지났다. 하지만, JPA를 이해하고 설명하는 것이 너무나도 어렵게 느껴진다. 따라서, JPA에 대해서 심도 있게 다뤄보며 JPA가 결과적으로 추구하는 목적과 JPA를 활용하는 방법에 대해서 고민해보려고 한다. Java Persistence API 기술의 이름에는 해당 기술이 최종적으로 추구하는 목표를 나타내거나 그 기술의 대표적인 특징을 나타낸다. JPA는 영속성을 가지는 자바 애플리 케이션이다. 즉, JPA는 인메모리에 저장하여 종료하면 사라지는 데이터가 아닌, 종료가 되어도 계속해서 저장되어 있는 데이터이다. JPA는 기술 명세서다. JPA에 대해 정확한 개념을 잡기 위해 블로그를 찾아보던 중 내가 가지고 있는 고민을 말끔하게 씻어주..
Spring Data JPA에서 save() 메서드의 쓰임 불현듯 save() 메서드는 어떤 원리로 쓰이는 건지 궁금해졌다. repository.save(member)는 어떤 원리로 멤버를 담게되는 것인가?! 우리는 save() 메서드가 Repository에 엔티티를 추가하는 메서드로 알고 있었다. 하지만 save()는 업데이트를 위한 용도로도 사용된다. id가 없는 객체의 경우 Transient 상태에서 save될 경우 Persistent 상태가 된다. 이 때 save()의 매개변수 객체는 EntityManager에 캐싱된다. 그러나 id를 갖고 있는 경우 EntityManager가 merge()를 호출한다.
체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception) 체크 예외는 발생한 예외를 catch해서 체크한 후, 해당 예외를 복구 또는 회피하는 등, 어떤 구체적인 처리를 해야 하는 예외를 뜻한다. ex) ClassNotFoundException 언체크 예외는 예외를 catch하여 해당 예외에 대한 어떤 처리를 할 필요가 없는 예외를 뜻한다. ex) NullPointerException, ArrayIndexOutOfBoundsException
SSR 방식과 CSR 방식의 차이 SSR(Server Side Rendering)이란? 렌더링이 서버쪽에서 일어나는 방식 , 유저가 웹사이트에 요청한다 서버가 렌더링 가능한 HTML파일을 만든다. 브라우저가 즉시, HTML을 만든다. (하지만, 사이트 자체는 조작 불가능하다.) 브라우저가 자바 스크립트를 다운로드한다. 유저는 컨텐츠를 볼 수 있지만 사이트를 조작할 수 없으며, 그것을 기억하고 있는다. 브라우저는 자바스크립트 프레임워크를 실행한다. 기억하고 있던 조작이 실행되고 웹페이지가 상호작용이 가능해진다. CSR(Client Side Rendering)이란? 렌더링이 클라이언트 쪽에서 일어나는 방식 , 유저가 웹사이트 요처을 보냄 CDN이 HTML파일과 JS로 접근할 수 있는 링크를 클라이언트로 보낸..