본문 바로가기
320x100
728x90

JPA3

JPA 엔티티와 테이블 매핑 package com.example.jpa.jpademo.Entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.springframework.stereotype.Component; import javax.persistence.*; import java.time.LocalDateTime; @Entity //JPA가 관리 @Table(name = "member") //테이블 매핑을 위한 어노테이션 @Comp.. 2022. 3. 12.
JPA 시작하기 JPA는 Java 진영의 표준 ORM 기술로 현재 Mybatis를 맹추격 중인 기술이다. 더 자세한 내용은 참고 기존엔 Mybatis를 xml에 쿼리를 정의하고 prarmeterType이랑 resultType이랑 따로 나눠서 객체 리턴 받고 동적인 쿼리라도 나오면 조건문 들어가면서 쿼리가 상당히 길어지고 컬럼이 하나 추가되는 일이 발생한다? 정말 상상하기도 싫다. 관련된 SQL을 모두 전부 수정해야 한다. DB에 데이터를 저장하기 위해 SQL Mapper를 썼지만 Mapping은 내가 직접 하고 다 내가 짜야했다. 정말 업무를 진행하면서 비즈니스 로직을 위한 고민보다 쿼리를 위해 고민하는 시간이 더 많았다. 하지만 JPA를 사용한다면 이런 고민을 덜 수 있다. 쿼리를 직접 사용하지 않아도 되고, 마치 컬.. 2022. 3. 8.
spring,java]JPA를 이용한 API서버 기존에 사용하기로 생각만 했던 JPA. 회사에서 작은 웹 크롤링 API 서버를 만들 일이 생겨서 간단하게 사용해봤다. JPA는 Java의 ORM(Object Relation Mapping) 표준 기술로 인터페이스이다. 구현체는 스프링 부트에서는 기본적으로 하이버네이트이다. (바꾸거나 직접 구현할 수 있다.) 참고 JPA는 Java 웹 앱과 JDBC 사이에서 동작하며 개발자가 SQL에 대한 종속성을 낮출 수 있게 해 준다. (다만 JPA의 표준을 따라야 해서 러닝 커브가 있다.) 오늘은 실제 사용한 코드를 보며 설명을 이어간다. 과거엔 xml로 설정을 했었지만 spring boot에선 간단하게 사용이 가능하다. 일단 JPA 사용을 하기 위해 implementation 'org.springframework... 2021. 11. 30.
300x250
320x100