JPA 처음 적용해보기 Spring, SpringBoot 프레임워크가 아닌 기본 Java 프로젝트의 main 함수로 JPA를 구현해보자. resources/META-INF/persistence.xml Member Entity package hellojpa; import javax.persistence.*; @Entity @Table(name="MEMBER") public class Member { @Id @Column(name = "ID") private String id; @Column(name = "NAME") private String username; public String getId() { return id; } public void setId(String id) { this.id = id; ..
기본제공 findById(PK) 메소드 public Optional getMember(Long idx) { return memberRepository.findById(idx); } JPA에서 ID값을 파라미터로 SELECT 할 수 있는 기본 findById 메소드를 제공한다. 하지만 ID 필드가 아닌 다른 여러 필드들로도 데이터를 조회할 경우가 생기게된다. 상황 로그인 API를 구현하면서 파라미터로 받아온 아이디와 패스워드에 맞는 회원 정보가 있는지 조회해야하는 상황이 생겼다. 1) AuthController.java @PostMapping("/login") public ResponseEntity login(@ModelAttribute LoginDto loginDto, @ApiParam(hidden = ..
들어가기 전 Lombok을 사용하여 구현하기 전, 라이브러리를 사용하지 않고도 구현할 줄 알아야한다. 아래 포스팅을 참고하자. devfunny.tistory.com/409 [SpringBoot + JPA] DTO, Entity의 빌더패턴 적용기 도입 스프링부트 프로젝트에서 JPA를 사용하여 API를 만드는 상황에 놓였다. 나는 API의 파라미터로 받아올 Dto 파일을 생성하였고, JPA Repository로 보낼 Entity 파일을 생성하였다. com.api.seohae - dto U devfunny.tistory.com 도입 스프링부트 프로젝트에서 JPA를 사용하여 API를 만드는 상황에 놓였다. 나는 API의 파라미터로 받아올 DTO 파일을 생성하였고, JPA Repository로 보낼 Entity ..
JPA JPA : Java Persistence API 자바 진영의 ORM 기술 표준이다. JPA를 알아보기전에 ORM과 ORM 프레임워크에 대해 알아보자. ORM ORM : Object Relational Mapping 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크 ORM 프레임워크를 사용함으로써 그동안 개발해왔던 INSERT/UPDATE/SELECT 쿼리 등을 직접 작성하지 않고도 데이터를 저장할 수 있게되었고 우리는 객체를 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 쿼리 작성 시의 일들을 수행할 수 있게 되었다. ORM 프레임워크에 저장된 객체들은 ORM 프레임워크가 적절한 SQL을 생성해서 데이터베이스에 저장된다. ORM 프레임워크는 단순히 SQL을 생성해서 데이터베..
도입 스프링부트 프로젝트에서 JPA를 사용하여 API를 만드는 상황에 놓였다. 나는 API의 파라미터로 받아올 DTO 파일을 생성하였고, JPA Repository로 보낼 Entity 파일을 생성하였다. com.api.seohae - dto UsersDTO.java - entity Users.java 위 구조로 갔을때 만나게될 상황을 자세히 살펴보자. 상황분석 Users 테이블에 회원을 등록하는 간단한 POST API를 보자. @PostMapping("") public ResponseEntity addUser(@ModelAttribute UsersDto usersDto) { Users users = userService.addUser(usersDto); return ...; } 파라미터로 UsersDto..