어노테이션으로 사용할 떄 어느 영역에서 사용할지(클래스, 매서드, 등등)
로그용 어노테이션
https://velog.io/@park2348190/Lombok-Builder%EC%9D%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC
빌더 패턴으로 클래스 파일을 만들어 주는 어노테이션이다.
데이터 마이그레이션을 도와주는 도구이다.
지연 로딩에서는 JOIN을 하지 않고 Order를 조회하며, 프록시를 사용하는 것을 볼 수 있다.
@ManyToOne(fetch = FetchType.LAZY)와 같이
실무에서는 거의 지연로딩을 사용한다고 한다.
enum을 db에 저장할때 어느 형식으로 저장할 지 지정하는 어노테이션이다. 단점은 enum의 구조가 불변하지 않기에 이를 대비할 수 없다는 것이다. 이를 보완하자면 enum conveter를 사용하면 된다.
cascade = CascadeType.ALL
https://velog.io/@codren/Query-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98
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...
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 로딩을 하도록 지정할 수 있다.