본문 바로가기
728x90
반응형

JPA5

Spring Boot Data Jpa 를 사용한 Paging. Spring Data Jpa 를 사용하게 되면서 전에 쓰지 않았던 paging 기능에 대해서 이야기 해보려 한다. Domain 을 조회하는 Repository interface를 만들때에 JpaRepository 를 상속해서 사용하는 경우가 많다. 이 JpaRepository 를 살펴보면 내부에 이렇게 구현이 되어있다. public interface JpaRepository extends PagingAndSortingRepository, QueryByExampleExecutor { ..... } 그리고 다시 PagingAndSortingRepository 를 살펴보면 다음과 같다. public interface PagingAndSortingRepository extends CrudRepository { .. 2019. 11. 11.
[Spring Security]간단 Spring Security Spring Security 를 적용하는 내용을 처음부터 차근차근 정리를 해보려고 한다. 목표는 Spring Security 를 공부하면서 각각의 기능들을 적용해보는것이다. 진행하다보면 Spring Security 뿐만 아니라 다른 내용들도 점점 추가될것 같다. 다 만들고 나서는 git에 소스를 공유할 생각이다. ^^;; 언제가 될지는 잘 모르겠다. 환경 : java 1.8, Spring Boot 1.5.3 Release, Maria DB, JPA, gradle build.gradle12345678910111213141516171819202122232425262728293031323334buildscript { ext { springBootVersion = '1.5.3.RELEASE' } reposito.. 2017. 6. 27.
IntelliJ 에서 queryDSL 의 Q 도메인을 찾지 못할때 아직 사용이 익숙하지 않은 IntelliJ 에서 작업을 하다가 JPA의 Entity로 되어 있는 도메인들을 못찾는 현상이 발생했다. src/main/generated 라는 폴더 안에 Qdomain 들이 실제 존재하고 있는 상황인데 build 를 돌리면 찾지 못했다. 에러 내용은 위와 같이 cannot find symbol, class QCode. 저 캡쳐는 한 부분만 캡쳐를 했지만 실제로는 모든 Qdomain을 찾지 못한다고 에러가 났다. 그래서 구글링을 해보니 generated 폴더를 패스에 추가를 해줘야 한다는 것을 알았다. IntelliJ 에서 File>Project Structure>Modules 에 들어가면 아래와 같이 화면이 구성되어있다. 위에 화면에서는 이미 Source Folder 에 sr.. 2017. 5. 17.
[JPA]Persistence Context Persistence Context 특징- 1차 캐시- 동일성 보장- 트랜잭션을 지원하는 쓰기 지연 (transaction write-behind)- 변경감지(dirty checking)- 지연로딩 조회- 조회시에 1차캐시에서 식별자 값으로 entity 조회. 없으면 DB에서 조회 등록- persist 를 실행하면 1차 캐시에 저장 되고 transaction writer-behind에 쿼리를 저장해둔다.- commit 시점에 transaction writer-behind에 있는 쿼리를 실행함. 수정 - 1차 캐시에 Entity가 저장될 시점에 최초상태의 스냅샷을 같이 저장한다. - transaction writer-behind 에서 flush 시점에 스냅샷과 entity를 비교해서 변경된 entity를 .. 2015. 8. 25.
[JPA]Entity 생명주기 1. new/transient : persistence context와 무관2. managed : persistence context에 저장된 상태3. detached : persistence context에 저장되었다가 분리된 상태4. removed : 삭제된 상태 2015. 8. 12.
728x90
반응형