Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 요번 프로젝트에, Spring을 사용해야하는 일이 있어서일도생기고..기존 알고 있는 웹프레임워크도 정리 예정에있지만정리겸

우선은 겸사겸사 Spring을 정리하기 시작하였습니다정리하기시작하였습니다.


FullStack 웹 프레임웍이라 수많은 기능들이 있으며, 운영은 제외하고

웹 개발에서핵심이되는

  • 라우터 처리
  • Get/Post Rest 메서드 정의
  • Json 처리방식
  • MVC및 View템플릿선택
  • DB 객체의 모델링화객체 핸들링

위 5가지 웹 요소의 사용방법이 요즘 웹프레임워크에서 거의 비슷합니다.

하지만,SPRING-JPA 가 타 웹프레임웍이 가진 DB처리에 비해 차별성있고

진보된 방식으로 보여지며, ORM 을 완성도 있는 수준까지 끌어올린듯 보입니다.


SPRING의 DB 제어요소를 살펴보니, 큰 분류로 마이바티스/JPA  두가지가

있었으며 국내의 압도적인 사용률과 협업이슈와는 무관하게,

직관적으로 JPA가 JAVA진영의 ORM 표준으로 자리잡고 있고

DB를 설계할수있고,제어할수있는 가장 진보되고 일괄적인 방식으로 느껴졌습니다.


ORM: 오브젝트를 모델링과 일치(연관)시키는것 이라고 해두겠습니다.

Image Added

그림만 보면, 우리가 설계한 오브젝트가 데이터베이스화 되어( 오브젝트의 영속성부여라고 표현하기도합니다.)

DB에서 발생하는 일을 신경쓸 필요가 없어보이 거나 성능에 관여할수 없는것처럼 보입니다.

하지만, 위그림은 데이터를 객체지향적으로 다루는방법과 동시에 데이터베이스 설정및 개발방법을

함께 익혀야한다는것을 의미합니다. SQL문을 통해 어플리케이션 개발을 하였을때는 SQL문 자체가

성능을 위해 올바르고 일괄적인 방법을 제시해주지 않습니다. 자유도가 높아서 기능이 작동되면

그것이 튜닝문제로 가기전까지 아무런 문제가 안되었기때문입니다.

반면 JPA는 데이터를 설계하고 최종 화면에 표현하기까지 수많은 번거로운 일들을 줄여주지만

JPA가 DB를 이해하고 있는것을 이해하지못하면, 대부분의 기능에 제약이걸리거나 사용할수 없다라는것입니다.

그것이 처음에 답답하고, 내가  JPA가 이해하는 수준의 데이터베이스를 모르고 있었구나 깨닫는순간

DB와 함께 JPA를 배워야하는 이유가 되었습니다. 그리고 시작하였습니다.JPA를 배우느라 DB공부도 다시 시작하게됨..., 



참고링크