AOP에서는 @Around가 가장 중요하다
이건 자바리플렉션이다
리플렉션은 주어와 목적어가 바뀌는것
class를 로딩할때 사용하는메서드 Class.forName()
pjp.proceed() 는 invoke()같은것이다 (메서드를 실행하는것)
흔히 트랜잭션이라고 하면 이것을 데이터베이스 용어라고 생각하는데 정확히 단어의 뜻은 거래라는 뜻이고
비즈니스 용어이다.
그래서 트랜잭션의 단위가 비즈니스의 단위인것이다.
트랜잭션을 가장쉽게생각하는것은 ALL or Nothing -> 되면 다되고 아니면 다안되는것
트랜잭션은 ACID원칙을 따라간다
반정규화는 언제하나? => 스토리지를 손해보면서 성능의 향상을 원할때 한다.
정규화를 하면 중복된 데이터를 제거해 스토리지를 효과적으로 쓰는것이다.
아무조건없이 join하는것을 카르테시안곱이라고 한다
거기서 where을 주면 거기서 필터링을 하게되는데 이래서 join의 성능이 안좋았다..