Back-end/JPA
-
[JPA] 엔티티 매핑Back-end/JPA 2022. 4. 11. 22:39
JPA에서 가장 중요한 2가지는 '객체와 관계형 데이터베이스 매핑' & '영속성 컨텍스트' 이다. # 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리하는 엔티티라고 한다. JPA를 사용해 테이블과 매핑할 클래스에는 반드시 @Entity를 지정해줘야 한다. @Entity가 붙은 클래스는 기본 생성자가 필수이다. (public or protected 생성자) final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. 클래스의 필드에 final을 사용할 수 없다. Q. @Entity가 붙은 클래스에 기본 생성자가 필수인 이유는? JPA 인터페이스의 구현체로 대부분 사용되는 Hibernate는 내부적으로 Class.newInstance()라는 Java..
-
[JPA] 등장 배경, 사용 이유, 간단 구동 방식Back-end/JPA 2022. 3. 31. 01:02
스터디를 위해 인프런 강의를 들으면서 드디어 JPA에 대한 기본적인 이해를 하게 되었다. 기존에 코드를 짜면서 '정말 데이터베이스에서 이렇게 가져오나..?'라는 의문이 들었던 이유는 JPA를 잘 몰랐기 때문이었다. 이번 스터디를 하면서 제대로 공부해야겠다. 😃 ✔️ JPA 등장 배경 요즘 개발을 할 때 객체 지향 언어 & 관계형 데이터베이스의 조합을 많이 사용한다. 객체를 관계형 데이터베이스에 저장하기 위해서는 아무래도 SQL이 필수적이다. ## SQL 의존적인 개발의 문제점 - 객체 CRUD 혹은 필드 추가시 SQL문을 변경하기 번거롭고, 놓치는 부분이 발생할 수 있다. - 객체와 관계형 데이터베이스 간 패러다임의 불일치 (상속, 연관관계, 데이터 타입, 데이터 식별 방법) → 계속해서 작성해야하는 S..