프로그래밍/JPA
-
[JPA] Entity 매핑프로그래밍/JPA 2021. 10. 17. 23:23
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 기본 매핑에는 4개의 매핑이 존재 합니다. 객체와 테이블 매핑 기본 키 매핑 필드와 컬럼 매핑 연관관계 매핑 2. 객체와 테이블 매핑 테이블과 매핑 하는 클래스는 Entity 어노테이션을 필수로 붙여야 합니다. Entity 어노테이션이 붙은 클래스는 JPA가 관리하는 엔티티라고 부릅니다. ※주의사항 기본 생성자는 필수로 존재해야 합니다. final 클래스, enum, interface, inner 클래스에는 사용이 불가능 합니다. DB와 매핑하여 저장 할 필드에는 final 사용이 불가능 합니다. 엔티티와 매핑할 테이블을 지정하려면 Table 어노테이션을 붙여야 ..
-
[JPA] 영속성 컨텍스트프로그래밍/JPA 2021. 10. 14. 23:39
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 영속성 컨텍스트 영속성 컨텍스트란 번역하면 엔티티를 영구 저장하는 환경이라는 뜻으로 해석되며 영속성 컨텍스트는 엔티티 매니저를 생성할 때 하나 생성됩니다. 이렇게 만들어진 영속성 컨텍스트 엔티티 매니저를 통해 접근할 수 있고 관리할 수 있습니다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. 엔티티 매니저는 find, persist, merge 메서드를 호출하여 엔티티를 영속성 컨텍스트에 저장합니다. 특징 영속성 컨텍스트는 엔티티의 식별자의 값으로 엔티티들을 구분합니다. 그러므로 영속 상태의 엔티티는 식..
-
[JPA] 객체와 데이터베이스의 패러다임 불일치프로그래밍/JPA 2021. 10. 9. 18:53
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 패러다임 불일치 프로그램 작성 중 특정 객체 정보를 영구 저장하기 위해서는 메모리가 아닌 다른 저장소 등에 저장되어야 합니다. 저장된 객체는 필요시 저장소에서 데이터를 가지고와 객체를 재 생성하여 사용하는 방식으로 사용됩니다. 객체의 경우 상속이나 다른 객체의 참조 등이 있는 경우도 빈번히 발생하게 됩니다. 이러한 경우 저장이 까다로워지지만 Java의 경우 직렬화와 역직렬화를 통해 파일에 저장하거나 파일로부터 데이터를 읽어와 객체를 생성할 수 있습니다. 하지만 직렬화가 된 경우 조회가 사실상 불가능하게 되어 직렬화 후 파일에 저장 방법을 사용하기 어렵습니다. 그래..
-
[JPA] SQL을 직접 작성 단점과 JPA사용으로 단점 극복프로그래밍/JPA 2021. 10. 8. 15:05
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. SQL을 직접 작성의 단점 DB의 경우 데이터를 관리함에 있어 애플리케이션의 객체 구조와는 다른 데이터 중심의 구조로 되어 있다. 개발자는 데이터를 조회 또는 저장 시 애플리케이션(객체)과 DB 사이에서의 변환 작업을 진행하여야 한다. 즉 DB에서 애플리케이션으로 데이터를 가지고와 객체를 만들 때와 애플리케이션의 객체 정보를 DB에 저장할 때 변환작업을 진행하여야 한다. Member Class public class Member{ String id; String name; } MemberDAO public class MemberDAO{ public Member f..