JPA 테스트 코드 proxy 호출 메서드
@SpringBootTest
class ProductRepositoryTest {
@Autowired
private ProductRepository productRepository;
Logger log = LoggerFactory.getLogger(this.getClass());
@Test
@DisplayName("클래스이름과 메서드이름, 상위인터페이스이름등을 확인-ProxyPattern확인")
void test() {
Class clazz = productRepository.getClass();
log.error("클래스이름"+clazz.getName());
log.error("------------");
for(Method m: clazz.getDeclaredMethods()) {
log.error(m.getName());
}
log.error("------상위인터페이스 이름------");
for(Class inter: clazz.getInterfaces()) {
log.error(inter.getName());
}
}
}
@OneToMany(
//영속성전이
cascade = CascadeType.ALL
,
//JPA는 연관관계가 있는 엔티티를 조회할 때 defualt로 지연로딩을 합니다.
//여러 엔티티들과 종속적인 관계를 맺고 있다면 조인이 필요, 조인이 복잡할 수록 성능저하!, 정보가 필요하기 전까지 최대한 테이블에 접근하지 않는 방식을 사용합니다.
//즉시 로딩은 조인은 이용해서 정보를 처리합니다.
//즉시로딩을 안한다면 @Transactional로 처리할 수 도 있습니다.
fetch = FetchType.EAGER
,mappedBy = "order_info"
)
'KOSTA > SpringBoot' 카테고리의 다른 글
Spring Boot에서 CORS 적용해보기 (0) | 2021.08.13 |
---|---|
cascade , mappedBy, fetch (0) | 2021.08.12 |
Spring - Qualifier설정, Repboard 병합, JPA (0) | 2021.08.04 |
Spring Boot - Mybatis 설정 (0) | 2021.08.03 |
STS 설치 및 설정, Junit5, Logger(logback) 설정 (0) | 2021.08.02 |