일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 핑거스타일
- SQL 처리
- IT
- 개발자
- 오라클
- I'm fine thank you
- db
- 6학년 8반 1분단
- 천공의 시간
- 아이유
- nginx
- 데이터베이스
- 신입
- 스위트라떼
- Inside Of Me
- 러블리즈
- 기타
- 니가 참 좋아
- 장범준
- 인덱스
- 오라클 아키텍처
- DBMS
- oracle
- 레이디스코드
- 말 더듬
- 슬픔의 후에
- DBMS 구성요소
- 악보
- index
- 봄 사랑 벚꽃 말고
목록공대인 (93)
취미로 음악을 하는 개발자
123456789101112131415161718192021222324252627282930313233343536import java.util.ListIterator;import java.util.Stack; // 탑public class Top { public static int[] solution(int[] heights) { int[] answer = new int[heights.length]; Stack stack = new Stack(); for (int i = 0; i
123456789101112131415161718192021222324252627282930package org.zerock.persistence; import java.util.Collection;import java.util.List; import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.repository.CrudRepository;import org.zerock.domain.Board; public interface BoardRepository extends CrudRepository{ public List findBoardByTi..
1234567891011121314151617181920212223package org.zerock.persistence; import java.util.Collection;import java.util.List; import org.springframework.data.repository.CrudRepository;import org.zerock.domain.Board; public interface BoardRepository extends CrudRepository{ public List findBoardByTitle(String title); public Collection findByWriter(String writer); // 작성자에 대한 Like % 키워드 % public Collectio..
JPA에서는 각 데이터베이스에 맞는 Dialect가 별도의 SQL에 대한 처리를 자동으로 처리해 주기 때문에 개발시 생산성을 향상시킬 수 있다. 반면, 조금 복잡한 쿼리를 작성하기 위해서는 데이터베이스를 대상으로 하는 SQL이 아니라 JPA에서 사용하는 것(Named Query, JPQL, Query dsl 등)을 알아야 한다. Spring Data JPA는 이러한 번거로운 과정을 조금이라도 줄여줄 수 있는데 그 방법 중 하나가 쿼리 메소드이다.쿼리 메소드는 메소드의 이름만으로 필요한 쿼리를 만들어 내는 기능으로, 네이밍 룰만 알고 있어도 사용할 수 있다. 프로젝트 생성 * 이전 'boot02' 프로젝트의 main 파일들을 그대로 가져오면 된다. Spring Web, MySQL, lombok, JPA, ..
* 프로젝트는 이전 포스트에서의 프로젝트와 같다. 테스트 클래스에서 메소드를 좀 더 추가할 것임. 1. 등록 작업 테스트 CrudRepository 인터페이스는 save()라는 메소드를 이용해서 데이터베이스에 엔티티의 정보를 추가하거나 수정하는 작업을 한다.동일한 메소드로 insert와 update 작업도 이루어지는데 이 부분을 이해하기 위해서는 엔티티 매니저의 존재를 인식할 필요가 있다. Repository 쪽에서 save()라는 메소드가 호출되면, 내부에서는 엔티티 매니저가 영속 컨텍스트에 해당 식별키를 가진 엔티티가 존재하는지를 확인한다. 만약 동일한 식별 데이터를 가지는 엔티티가 없다면 엔티티 매니저는 이를 영속 컨텍스트에 저장하고 데이터베이스에도 추가하게 된다. 반대로 엔티티가 이미 존재한다면 ..
JPA를 이용하는 경우에는 별도의 클래스 파일을 작성하지 않고 원하는 인터페이스를 구현하는 것만으로도 JPA와 관련된 모든 처리가 끝나게 된다. 일반적으로 DAO라는 개념을 이용하듯이 JPA를 이용하는 경우에는 Repository라는 용어로 칭한다. 데이터베이스와 관련된 처리를 전통적인 JPA 처리 방식대로 EntityManager를 구성하고 트랜잭션을 시작하고 종료하는 코드를 만들 수도 있지만, JPA에는 기능이 복잡한 상황이 아닌 이상 간단하게 처리할 수 있는 Repository를 구성하는 것만으로도 충분한 기능들을 제공하고 있다. JPA는 다음과 같은 인터페이스 구조를 사용하고 있다. 모든 인터페이스가 두 개의 제네릭 타입을 사용하는 것을 볼 수 있는데, T는 엔티티의 타입 클래스를, ID는 식별자..