@Transactional트랜잭션 단위로 메서드 실행을 관리한다.트랜잭션 내부에서 데이터를 가져올 때 **프록시(가짜 객체)**를 사용한다.주의: 트랜잭션 외부에서 호출 시 프록시 객체가 아닌 실제 객체를 반환하므로 @Transactional이 적용되지 않을 수 있다.예: work()가 BaseInitData 안에 정의되어 직접 호출되면, 트랜잭션 관리 범위 외부에서 실행된다. 이 경우 프록시를 거치지 않고 실제 객체를 반환하기 때문에, JPA가 제공하는 지연 로딩(Lazy Loading)이나 변경 감지(Dirty Checking) 같은 트랜잭션 기반 기능이 작동하지 않는다. 따라서 트랜잭션이 필요한 작업은 반드시 트랜잭션 관리 범위 내에서 실행해야 한다.객체와 테이블의 연결 방식Java두 객체는 객체 ..