<DB> JDBC 트랜잭션에서 Spring의 @Transactional까지
이전 포스팅 [https://hongchangsub.com/transactionwithjdbc/]까지 저희는 JDBC 기술에 의존하여 Transaction을 적용시켜 보았습니다.만약 현재의 상황에서 JDBC 말고 JPA를 사용한다고 가정하면 서비스 계층의 모든 트랜잭션 코드들이 모두 수정되어야 합니다.쉽게 말하면 디비
이전 포스팅 [https://hongchangsub.com/transactionwithjdbc/]까지 저희는 JDBC 기술에 의존하여 Transaction을 적용시켜 보았습니다.만약 현재의 상황에서 JDBC 말고 JPA를 사용한다고 가정하면 서비스 계층의 모든 트랜잭션 코드들이 모두 수정되어야 합니다.쉽게 말하면 디비
> 우선 해당 내용은 MVC 패턴 기반하에서 코드가 작성됩니다. 사실 저희가 사용하는 Spring이나 다른 프레임워크들은 아래에 나올 일련의 과정을 좀 더 수월하게 진행시켜주는 역할을 수행합니다. 본격적으로 프레임워크 없이 트랜잭션을 한번 구현해보겠습니다. > 본
개발을 하시면서 Transaction이라는 용어를 정말 많이 들어보셨을 것입니다.저 또한 용어의 정확한 의미는 모른채 사용했었습니다.예를 들어 “뭐 대충 데이터에 변경의 결과를 보장해준다는 거 아냐?” 정도의 느낌으로만 이해했습니다.혹시나 저와 같이 저런 느낌으로만
Connection Pool 저희는 JDBC를 이용해서 자바 어플리케이션에서 DB와 통신을 하고 데이터를 주고 받는 방법을 알아보았습니다.그러면 이제 조금 더 이론적인 내용에 대해 알아보겠습니다.아래의 코드에서 DriverManager를 통해서 Connection을 얻어오는 방식으로 DB와 통신을 진행하였습니다.
필자가 JDBC를 처음 사용해본것은 학교 교과목 중 데이터베이스라는 수업에서 사용해보았습니다.당시만 하더라도 저도 JPA를 공부하고 있던터라 “그냥 CRUD만 코드 따라쳐서 해봐야지”하고 간단하게 실습 후 넘어갔던 적이 있습니다.하지만 JPA를 사용해 어플리케이션을 만들고
MVC의 등장 배경 자바의 JSP와 서블릿만을 이용해서 웹서비스를 개발해보신 경험이 있으신가요?JSP의 경우 아래와 같은 코드 구조를 가지게 됩니다.굉장히 간단한 코드임에도 자바 코드와 함께 HTML 코드가 복잡하게 얽혀 있는것을 확인 할 수
해당 포스팅은 스프링 배우기 전 알아두면 좋은 개념 [https://hongchangsub.com/springstarter/]과 연속적으로 진행되는 포스팅입니다. 프로젝트 설정하기 우선 https://start.spring.io/으로 접속해서 아래와 같이 스프링부트 프로젝트를 하나 만듭니다.구지 서블릿만을
Web Application Server vs Web Server * Web Server : 단순한 정적인 리소스들 화면에 뿌려줄 수 있습니다.대표적인 예로 Apache,Nginx 등이 존재합니다. * WAS : 단순히 정적인 리소스들을 화면에 뿌리는 것은 물론 동적으로 사용자에게 맞춰서 데이터를
이번 포스팅에서는 쓰면서도 헷갈리던 JPA의 Cascade 옵션에 대해서 정리하겠습니다.일단 기본적으로 Cascade라는 옵션이 등장하게 된 배경부터 알아봅시다. 아래의 코드를 보시죠 @Setter @Getter @Entity public class Parent { @Id @GeneratedValue private Long id; private String
지난번 포스팅의 Proxy를 활용해 JPA의 즉시로딩과 지연로딩에 대해서 알아봅시다. Member와 Team이 엔티티가 존재합니다.만약 Member를 조회할 때 Team 엔티티를 함께 조회하는 방식이 즉시로딩이고,Team 엔티티를 Proxy객체로 조회하는것이 지연로딩 방식입니다.아래 코드를 보면 직접