programming/Spring
엔티티를 사용하는데에 주의사항이 몇가지 있다. 기본생성자를 필수적으로 가져야 한다. final class, enum, interface, inner class 에서는 사용할 수 없다. 엔티티의 모든 필드들은 final을 사용할 수 없다. 왜 final 키워드를 사용할 수 없을까? Order 구현 엔티티에 final을 작성했을 때, 롬복이 정상적으로 동작하지 않는다는 에러가 발생한다. 왜 엔티티에서는 final 구문을 쓸 수 없는 지는 “지연로딩"에 있었다. 💡 지연로딩(”fetchType = LAZY”)이란? 엔티티와 관계(join) 맺고 있는 엔티티에 대한 정보는 즉시 로딩되지 않고, getter 메소드가 호출하는 등의 사용 시점에서 로딩된다. JPA는 DB에서 데이터를 조회한 후, 엔티티를 생성할 때..
학습 목표 ORM에 대해 간략하게 알아보자. 패러다임 불일치에 대해서 알아보자. JPA는 자바 진영에서 ORM 기술 표준으로 사용되는 인터페이스 모음이다. 즉, 실제 구현된 클래스가 아닌 구현 클래스와의 매핑을 위해 사용되는 일종의 프레임워크라고 할 수 있다. JPA는 애플리케이션과 JDBC 사이에서 동작하며, 관계형 데이터 베이스를 사용하는 방식을 따른다. JPA를 이해하기 위해서는 ORM에 대해서 학습해야 한다. ORM? Object-relational mapping(객체 관계 매핑) 애플리 케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑, 즉 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 과정이다. ORM이 갖는 장점은 다음과 같다. 객체 지향적인 코드..