2018-6-11 포비 강의

  • Servlet이 HTTP에 대한 구현이다. 이것에 대한 구현은 Tomcat안에 인터페이스에 대한 구현체들이 들어가있다.
  • 톰캣을 와스?라고 한다.
  • JPA에는 이 표준을 지키는 Hibernate라는 프레임워크가 있다.
  • Servlet의 구현체는 무조건 와스내에 있다. 와스는 톰캣, 제티라고 한다.
  • 와스는 웹어플리케이션서버의 줄인말이다.
  • 인터페이스 어노테이션 기능을 조합을 해서 표준(기준점)을 만든다.
  • Servlet이 HTTP데이터를 조작을 하는 역할을 한다.

의존관계

  • Question -> User : 객체에 의존을 한다. Question은 User객체에 대한 정보를 가지고 있어야 의미가 있어진다. 하지만 User는 Question에 대한 정보가 없다. 이런관계를 UniDirection이라고한다.
  • Quesion <–> Answer : 이런관계는 양방향 BiDirection이라고한다.
  • 양뱡향으로 의존을 하다보면 의존관계가 많아져서 힘들다. 그러므로 최소화를 하고, 되도록이면 UniDirection의 관계를 한다.
  • Bidirection을 사용을 하면 코드가 깔끔해지지만, 그럼에도 불구하고 UniDirection을 사용을 하는것이 좋다.

FetchType

  • FetchType.EAGER : 즉시 로딩으로 엔티티를 조회할 때 연관된 엔티티도 함께 조회. @OneToOne, @ManyToOne 기본. JPA는 가능하면 join 쿼리 사용
  • FetchType.LAZY : 지연 로딩으로 연관된 엔티티를 실제 사용할 때 조회. @OneToMany, @ManyToMany 기본

  • ORM은 기본적으로 캐시를 제공하고 있다.
  • 캐시를 많이 써야 성능이 나온다.
  • CASCADE가 없으면 변경사항에 대한 부분이 자동으로 반영이 안된다. 하지만 CASCADE를 설정하면 변경사항에 대한 부분이 자동으로 변경이 된다.
Written on June 11, 2018