@Lob: JPA(Java Persistence API)에서 Large Object(LOB) 타입의 대용량 데이터를 저장하기 위한 어노테이션이고 일반적으로 데이터베이스의 LOB(Large Object) 타입과 매핑된다. @Lob 어노테이션이 붙은 필드는 대용량 텍스트나 이미지 데이터와 같은 큰 데이터를 저장할 수 있다.
FetchType.LAZY: 지연 로딩 방식을 의미한다. 이 경우, 필드의 값이 실제로 사용될 때까지 데이터베이스에서 로드되지 않는다. 대신, 해당 필드를 처음 접근할 때 데이터베이스에서 로딩되고 이는 연관된 엔티티의 데이터가 필요하지 않을 때 데이터베이스 쿼리를 최적화할 수 있다.예를 들어, @Basic(fetch = FetchType.LAZY)로 설정된 필드는 해당 필드가 필요한 시점에 데이터베이스에서 로딩되고 필드의 실제 사용 여부에 따라 데이터베이스 쿼리가 발생한다.
FetchType.EAGER: 즉시 로딩 방식을 의미한다. 이 경우, 엔티티가 로딩될 때 필드의 값도 함께 연관된 모든 데이터가 한 번에 로드된다. 예를 들어, @Basic(fetch = FetchType.EAGER)로 설정된 필드는 해당 엔티티를 조회할 때 필드 값이 함께 로드되어 메모리에 즉시 적재된다. 이는 데이터베이스 조회 쿼리를 실행할 때 필드 값을 추가로 가져와야 하므로 데이터베이스 부하가 발생할 수 있다.