실무에서 jdbc(JdbcTemplate)와 mybatis만 사용하다가 이번 인프런 스프링 강의를 통해 Jpa를 처음 접해보게 되었다.
원래 개발자가 직접 쿼리를 작성하지 않고 객체를 통해 DB와 통신하는 기술임은 알고 있었지만, 직접 구현하여 보니
더 새롭게 느껴졌다. 사전에 설정이 필요하긴 하지만.. 단순히 DB에 접근하는 로직만 먼저 살펴보자면
먼저 도메인으로 생성한 변수들에 대해 @Entity어노테이션 설정과 primary key에 해당하는 값을 @Id로 지정한다
(여기에서 DB상의 id가 자동으로 증가하는 값으로 설정되어 있으므로..IDENTITY로 지정)
Repository에서 EntityManager 객체를 import하여 생성자로 주입해준다.
이후 각 메소드들이 가지고 있는 기능을 생성한 EntityManager가 가지고 있는 메소드들로 구현한다.
insert문에 해당하는 save메소드와 id를 가져오는 부분의 코드가 굉장히 짧아졌다.
name 및 전체를 가져오는 부분은 jpql 문법을 사용하여 가져오게 된다.
(다만 이 부분도 spring data jpa를 사용하게 되면 쿼리를 사용하지 않아도 된다)
'개발 > Jpa' 카테고리의 다른 글
[JPA] Cascade & OrphanRemoval (0) | 2024.01.14 |
---|---|
@Embedded, @Embeddable (0) | 2023.05.01 |
[JPA] JPA의 어노테이션(1) (0) | 2022.05.08 |