Closed kwonslog closed 1 month ago
jdbc, ibatis, mybatis... 왜 써야하는지 보다는 필요에 의해서 사용을 했고, 왜 사용하는지 보다 어떻게 사용하는지에 더 집중 하였다. JPA 역시 더 잘 사용하기 위한 방법에 집중할 것이다. 물론 기본적으로 왜 사용하는지에 대한 고민과 이걸 사용하면 어떤 점이 더 좋은지 항상 생각하고 있다. 일을 하다보면 특정 기술에 대한 도입이 이미 결정 된 경우들이 더 많다 보니 자연스레 더 잘 사용하기 위한 방법에 집중하게 되었다.
jdbc, ibatis, mybatis... 왜 써야하는지 보다는 필요에 의해서 사용을 했고, 왜 사용하는지 보다 어떻게 사용하는지에 더 집중 하였다. JPA 역시 더 잘 사용하기 위한 방법에 집중할 것이다.
물론 기본적으로 왜 사용하는지에 대한 고민과 이걸 사용하면 어떤 점이 더 좋은지 항상 생각하고 있다. 일을 하다보면 특정 기술에 대한 도입이 이미 결정 된 경우들이 더 많다 보니 자연스레 더 잘 사용하기 위한 방법에 집중하게 되었다.
사용하면 어떤 장점이 있는지 정도는 체크하자.
이것들 외에 더 많은 장점이 있겠지만 생각나는것만 정리했다.
머리가 나쁘면 몸이 고생한다는 말이 있는데 JPA에 비유하자면 몸이 편해지기 위해 알아야 할 것들이 제법 있다. 그냥 쓰는건 상관없다. 하지만 잘 쓸려니 머리가 고생하는 것이다.
영속성 컨텍스트와 연관관계 설정이다.
영속성 컨텍스트는 엔티티 들을 관리(캐싱)하다가 트랜잭션이 완료되는 시점에 실제 쿼리를 실행한다. 물론 조건에 따라 실제 쿼리가 실행되는 시점이 달라지기도 한다.
그리고 연관관계는 일대일, 일대다, 다대다 관계가 있다. @OneToOne, @OneToMany, @ManyToMany 어노테이션을 사용하여 설정이 가능한데 단방향 또는 양방향 관계 설정이 가능하다. 그리고 기본적인 패치 전략이나 N+1 문제에 대한 이해가 필요하다.
@OneToOne
@OneToMany
@ManyToMany
앞으로 더 많은 것을 습득하고 정리하자. 아직은 많이 부족하다 스스로 느꼈다.
많이들 쓴다더라
왜 사용하는지까지는 아니더라도
단점도 있다
중요한 특징
영속성 컨텍스트는 엔티티 들을 관리(캐싱)하다가 트랜잭션이 완료되는 시점에 실제 쿼리를 실행한다. 물론 조건에 따라 실제 쿼리가 실행되는 시점이 달라지기도 한다.
그리고 연관관계는 일대일, 일대다, 다대다 관계가 있다.
@OneToOne
,@OneToMany
,@ManyToMany
어노테이션을 사용하여 설정이 가능한데 단방향 또는 양방향 관계 설정이 가능하다. 그리고 기본적인 패치 전략이나 N+1 문제에 대한 이해가 필요하다.마무리