Backend:: 42gg 코드 키워드

jahlee·2023년 10월 31일

Backend공부

목록 보기
14/18

@Target @Retention

https://ittrue.tistory.com/160

어노테이션으로 사용할 떄 어느 영역에서 사용할지(클래스, 매서드, 등등)

@Slf4j

https://programmer93.tistory.com/64

로그용 어노테이션

@Builder

https://velog.io/@park2348190/Lombok-Builder%EC%9D%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC

빌더 패턴으로 클래스 파일을 만들어 주는 어노테이션이다.

flyaway

https://velog.io/@hyun-jii/Flyway-%EC%A0%95%EC%9D%98-DB-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98-%EB%8F%84%EA%B5%AC

데이터 마이그레이션을 도와주는 도구이다.

지연 로딩

지연 로딩에서는 JOIN을 하지 않고 Order를 조회하며, 프록시를 사용하는 것을 볼 수 있다.
@ManyToOne(fetch = FetchType.LAZY)와 같이
실무에서는 거의 지연로딩을 사용한다고 한다.

https://ict-nroo.tistory.com/132

@Enumerated

enum을 db에 저장할때 어느 형식으로 저장할 지 지정하는 어노테이션이다. 단점은 enum의 구조가 불변하지 않기에 이를 대비할 수 없다는 것이다. 이를 보완하자면 enum conveter를 사용하면 된다.

https://techblog.woowahan.com/2600/

cascade

cascade = CascadeType.ALL

https://data-make.tistory.com/668

@Query

https://velog.io/@codren/Query-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98

@Lock

https://isntyet.github.io/jpa/JPA-%EB%B9%84%EA%B4%80%EC%A0%81-%EC%9E%A0%EA%B8%88(Pessimistic-Lock)/

db에 대한 락을 걸어준다. 수정과 조회에서 발생하는 문제 transactional...

@EntityGraph

https://velog.io/@gun_123/Spring-boot-EntityGraph-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98

@EntityGraph를 사용하면 JPA에서 연관 관계의 FATCH 속성값이 LAZY로 지정된 경우 특정 기능을 수행할 때만 EAGER 로딩을 하도록 지정할 수 있다.

0개의 댓글