profile
이전 블로그: https://blog.naver.com/max9106
post-thumbnail

[JPA] Auditing

어떠한 entity의 변화가 발생했을 때, 변화가 언제, 누구에 의해 발생했는지를 기록하는 기능. Account, Comment라는 Entity가 있다.comment라는 엔티티에 변경이 있을 때 마다, 언제 만들어졌으며(created), 언제 업데이트가 되었는지(upd

어제
·
0개의 댓글

[JPA] 트랜잭션

트랜잭션 스프링 프레임워크에 관련된 내용이다. 기본적으로 모든 repository는 기본적으로 트랜잭션이 적용되어 있다.(repository 구현체인 SimpleJpaRepository에 @Transactional이 적용되어 있기 때문이다.) @Transactiona

어제
·
0개의 댓글
post-thumbnail

[JPA] Specifications

QueryDSL의 Predicate와 유사하다.이 기능을 사용하기 위해서는 의존성을 추가해줘야한다.maven plugin 설정도 해준다.IntelliJ의 Preference > Build, Execution, Deployment > Compiler > Annotatio

3일 전
·
0개의 댓글
post-thumbnail

[JPA] Projection

엔티티의 속성들이 너무 많을 때, 일부 데이터만 가져오는 방법이다.아래와 같이 comment 엔티티가 있다고 하자위의 정보들 중 comment, up, down만 관심있다고 가정하여, 임의로 인터페이스를 만들어준다.어떤 Post안에 있는 comment를 조회한다.(fi

3일 전
·
0개의 댓글
post-thumbnail

[JPA] Entity Graph

쿼리 메서드마다 연관 관계의 fetch모드를 유연하게 설정할 수 있는 기능을 제공해준다.연관관계(OneToMany, ManyToOne 등)에 제공할 수 있다.끝이 One으로 끝나는 연관관계는 기본값이 EAGER모드이고, 끝이 Many로 끝나는 연관관계는 기본값이 LAZ

3일 전
·
0개의 댓글
post-thumbnail

[JPA] 스프링 데이터 JPA 쿼리 메서드

And, OrIs, EqualsLessThan, LessThanEqual, GreaterThan, GreaterThanEqualAfter, BeforeIsNull, IsNotNull, NotNullLike, NotLikeStartingWith, EndingWith, C

4일 전
·
0개의 댓글

[JPA] Entity 저장

repository.save()를 하면 엔티티가 하나 추가된다.save()는 추가 뿐만 아니라 수정에도 사용한다.save()는 이 객체가 새로운 객체인지 기존 객체인지 판단하여, 새로운 객체가 아닌경우 EntityManager의 merge쪽으로 보낸다. EntityMa

4일 전
·
0개의 댓글
post-thumbnail

[JPA] Web 지원기능

제공하는 기능 DomainClassConverter PathVariable 또는 RequestParameter로 들어오는 도메인의 Id값은 도메인으로 변환받아서 파라미터로 받을 수 있다. Converter는 하나의 타입을 다른 타입으로 변환해주는 것이다.(ex. L

5일 전
·
0개의 댓글
post-thumbnail

[JPA] QueryDSL

Query를 자바코드로 만들 수 있게 해주는 것이다.타입 세이프하다.Predicate라는 인터페이스 자바코드로 조건문을 표현할 수 있다. 조건문들을 조합할 수도 있고 따로 관리 할 수도 있다. 위의 장점들 때문에 QueryDSL을 사용한다.기존의 방법으로 메서드를 만들

2020년 3월 26일
·
0개의 댓글
post-thumbnail

[JPA] 도메인 이벤트

Domain Event Publishing 도메인의 변화. 즉, 도메인의 entity의 변화를 이벤트로 발생시키는 것. 그 이벤트를 리스닝하는 이벤트 리스너가 domain entity 클래스의 변화를 감지하고, 어떠한 이벤트 기반의 프로그래밍을 할 수 있게 하는 것.

2020년 3월 25일
·
1개의 댓글
post-thumbnail

[JPA] 커스텀 Repository

쿼리메소드로 해결을 할 수 없는 경우 코딩으로 구현할수가 있다.기능을 새로 추가 할 수도 있고, 기존 기능을 덮어 쓸 수도 있다. 새로 기능을 추가해보겠다.그럴려면 임의로 인터페이스를 만들어줘야한다.(이름은 맘대로 하면 된다.)Post를 가져오는 메서드를 만들어보겠다.

2020년 3월 25일
·
0개의 댓글

[Spring Boot] index 페이지 & 파비콘

index 페이지 index 페이지는 애플리케이션을 root로 요청했을 때의 페이지다. 즉, localhost:8080 으로 호출했을 때 처음 뜨는 페이지를 말한다. 2가지 방법으로 index 페이지를 생성할 수 있다. 정적 페이지로 생성하는 방법 저번에 공부한

2020년 3월 25일
·
0개의 댓글

[JPA] 스프링 데이터 쿼리 만들기

Query 만들기 쿼리를 만드는 방법은 크게 3가지가 있다. CREATE(메서드 이름을 분석해서 쿼리를 만드는 방법) 스프링 데이터 JPA가 메서드 이름을 분석해서 자동으로 쿼리를 만들어준다. 예를 들면 아래같은 경우이다. > List findByTitleCont

2020년 3월 25일
·
0개의 댓글

[JPA] Null 처리

자바 8부터 Optional을 지원해준다.리턴 값이 하나인 경우에 Optional을 써서 해당 엔티티의 리턴 타입을 isEmpty등의 Optional을 지원해주는 여러 메서드를 사용해서 테스트를 쉽게 할 수 있다.(점점 null을 안쓰는 추세이기 때문에 Optional

2020년 3월 24일
·
0개의 댓글
post-thumbnail

[JPA] Repository

JpaRepository는 PagingAndSortingRepository를 상속받고있고, PagingAndSortingRepository는 CrudRepository를 상속받고있고, CrudRepository는 Repository를 상속받고 있다.Repository:

2020년 3월 24일
·
0개의 댓글
post-thumbnail

[JPA] 스프링 데이터 JPA 원리

Data Access Object 역할을 하는 Repository를 만들 수 있다.예전에는 아래와 같이 Repository를 만들어 사용했었다.그러나, 이렇게 하면 테스트 코드도 작성해야하고, 여러 번거로움이 많다.Spring data JPA는 repository를 오

2020년 3월 23일
·
0개의 댓글

[JPA] 쿼리(Query)

JPA 또는 hibernate를 이용하여 DB에서 데이터를 가져오는 방법.Java Persistent Query Language(Hibernate Query Language)의 약자이다.SQL과 비슷하지만, 데이터베이스 테이블 기준이 아니라, 엔티티 모델 기준이라는 점

2020년 3월 23일
·
0개의 댓글
post-thumbnail

[JPA] Fetch

Fetch 모드란? 연관 관계에 있는 엔티티의 정보를 어떻게 가져올 것인가에 대한 설정이다. @OneToMany 등에 fetch 옵션으로 모드를 설정할 수 있다.지금 가져올 것이다 -> Eager나중에 가져올 것이다 -> Lazy기본적으로 OneToMany관계는 Laz

2020년 3월 23일
·
0개의 댓글
post-thumbnail

[JPA]엔티티 상태 & Cascade

cascade 옵션이란 @OneToMany 나 @ManyToOne에 옵션으로 줄 수 있는 값이다.Entity의 상태 변화를 전파시키는 옵션이다.만약 Entity의 상태 변화가 있으면 연관되어 있는(ex. @OneToMany, @ManyToOne) Entity에도 상태

2020년 3월 23일
·
0개의 댓글
post-thumbnail

[JPA] 1 대 다 매핑

Account, Study 엔티티를 추가해준다.관계는 오직 2개의 entity끼리의 관계이다.Study와 Account의 관계를 설정해보겠다.한 사람은 여러개의 Study를 만들 수 있다.따라서 Study 입장에서는 ManyToOne 이다.(클래스 안의 referenc

2020년 3월 21일
·
0개의 댓글