What’s New for Today

  1. JPA Study
    • Proxy & Lazy Initialization
      • proxy object
      • lazy, eager loading
      • persistence cascade
      • orphan removal
  2. Node.js sequelize ORM
    • module, installations
    • configurations
    • session settings
  3. Java Spring MVC
    • Spring MVC Life Cycle
      • Handler Mapping, Handler Adapter, View Resolver
      • @Controller, @RequestMapping
      • @RequestParam, @GetMapping, @PostMapping
  4. Algorithm 13308 13460 16236

Feelings

JPA는 Proxy 객체를 통한 실제 엔티티에 접근하기 때문에, 엔티티가 실제로 사용하지 않을 때 까지 실제 엔티티 생성을 미룰 수 있는 지연 로딩을 지원한다. client가 엔티티에 접근하는 그 순간, 프록시 객체가 엔티티 생성을 요청한다. 또한, 영속성 컨텍스 기반으로 연관관계를 가지는 엔티티에 대해 자동으로 저장, 제거, 등이 되도록 CASCADE 하거나 부모 엔티티와 참조가 끊긴 자식 엔티티가 자동으로 삭제되도록 orphan Removal을 지원한다. 이 처럼 RDBMS에서 제공하는 다양한 기능들 JPA에서 제공하고 있다.

JPA가 Java Spring 기반의 ORM을 지원해주는 프레임워크라면 Sequelize는 Node.js 기반의 ORM이다. 객체 지향형 프로그래밍 방식으로 DB에 접근하도록 하며, SQL 쿼리문 없이 DB를 이용할 수 있도록 제공한다. 오늘은 간단하게 Sequelize ORM 설정하는 부분에 대해 다뤄보았다. 비교적으로 간단하게 module을 이용해서 Setting을 해놓으면 DB에 접속할 수 있다. 이후에 해야될 것은 테이블에 대응되는 모델을 정의해주는 것이다.

여태 구현한 MVC 플레임워크와 Spring MVC의 로직은 비슷하다. Handler Mapping에서 Rendering 까지 모든 기능을 Spring에서 제공해주며, @Controller, @RequestMapping과 같은 Annotation 기반으로 Controller을 설계하는 것이 가능하다.대부분의 component에 대해 interface로 구현되어 있고 다양한 메소드에 대해 오버라이딩 되어 있어 확장성이 매우 뛰어나다.

태그:

카테고리:

업데이트:

댓글남기기