같은 클래스 내에서
Transactional이 설정된 메서드를 호출할 때 발생

이유가 뭘까?
먼저 해당 오류를 이해하기 위해 프록시 라는 개념을 알고 가야했다.
Transactional 이 설정된 곳에서 작동호출이 외부에서 요청됐을 때 발생근데 같은 클래스 내에서 Transactional 이 설정된 메서드를 사용하게 되면
메서드를 호출 할 때 프록시를 거치지 않게 된다. (프록시는 외부에서 호출이 요청됐을 때 사용되므로)
따라서 아무리 Transactional 이 설정된 메서드라도 트랜잭션이나 AOP 기능이 적용되지 않는다.