JPA
-
Spring Data JPA(쿼리 메소드)SPRING/JPA 2021. 10. 11. 18:18
Spring Data JPA로 쿼리를 생성하는 방법들을 알아보겠습니다. • 메소드 이름으로 쿼리 생성 쿼리 메소드는 Repository 인터페이스에 간단한 네이밍 룰을 이용하여 메소드를 작성하면 원하는 쿼리를 실행할 수 있습니다. 쿼리 메소드를 이용할 때 가장 많이 사용하는 문법으로 find를 사용해보겠습니다. 엔티티의 이름은 생략이 가능합니다. find + (엔티티 이름) + By + 변수 이름 Spring Data JPA 기반 ItemRepository ItemRepository 간단한 테스트 1. Item 엔티티 살펴보기 2. 쿼리 메소드 사용(간단하게 코드로 작성) • 상품명 조회 List itemList = itemRepository.findByItemNm("AAA"); //상품명이 AAA인 것..
-
엔티티(Entity) 매핑 관련 어노테이션 정리SPRING/ANNOTATION 2021. 10. 10. 23:57
엔티티 매핑 관련 어노테이션 정리 @Entity 클래스를 엔티티로 선언 - 이 어노테이션을 붙임으로써 JPA가 해당 클래스를 관리하게 됩니다. @Table 엔티티와 매핑할 테이블을 지정합니다. @Id 테이블의 기본키에 사용할 속성을 지정합니다. @GeneratedValue 주키의 값을 위한 자동 생성 전략을 명시하는데 사용합니다. 생성 전략 설명 GenerationType.AUTO(default) 방언에 따라 자동 지정, 기본값 GenerationType.IDENTITY 기본키 생성을 데이터베이스에 위임 -Mysql 데이터베이스의 경우 AUTO_INCREMENT를 사용하여 기본키를 생성 GenerationType.SEQUENCE 데이터베이스 시퀀스 오브젝트 사용, ORACLE - @SequenceGene..
-
JPA(Java Persistence API)동작 방식SPRING/JPA 2021. 10. 10. 22:57
JPA에서 가장 중요한 2가지 1. 객체와 관계형 데이터베이스 매핑하기 2. 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 - 엔티티(Entity) : 데이터베이스의 테이블에 대응하는 클래스라고 생각하면 됩니다. - 엔티티 매니저 : 영속성 컨텍스트에 접근하여 엔티티에 대한 데이터베이스 작업을 제공합니다. 내부적으로 데이터베이스 커넥션을 사용해서 데이터베이스에 접근합니다. - 엔티니 매니저 팩토리 : 엔티티 매니저 인스턴스를 관리하는 주체입니다. 애플리케이션 실행 시 한 개만 만들어지며 자용자로부터 요청이 오면 엔티티 매니저 팩토리로부터 엔티티 매니저를 생성합니다. @Entity가 붙은 클래스는 JPA에서 관리합니다. @Id: 데이터베이스 PK와 매핑 엔티티 생명주기 엔티티의 생명주기 • 비영속 ..
-
JPA(Java Persistence API)의 시작SPRING/JPA 2021. 10. 10. 20:21
JPA란? JPA는 자바 ORM 기술에 대한 API 표준이다. ORM이란 'Object Relational Mapping'의 약자로 객체와 관계형 데이터베이스를 매핑해주는 것을 말합니다. 그렇다면 왜? ORM 기술이 나왔는지 알아보겠습니다. 상품 데이터를 관리하는 Item 클래스가 있다고 가정하고, 상품 데이터를 관계형 데이터베이스에서 관리하기 위해 우리는 SQL문을 사용합니다. 문제 1) SQL 중심 개발의 문제 개발자가 CRUD문을 작성해서 객체를 관계형 데이터베이스에 넣어주고 가져오는 작업을 합니다.( 자바 객체를 SQL을 통해 데이터베이스에 관리하게 하고, 데이터베이스에 저장된 데이터를 자바 애플리케이션에서 사용하려면 SQL을 통해 다시 자바 객체로 변환) - '개발자가 직접 SQL을 매핑하는 역..