본문 바로가기

Book28

자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (4-1) 엔티티 매핑 들어가며 4강은 내용이 많아 1편과 2편으로 나눠 진행하였다. 엔티티 매핑 전략에 대한 내용을 정리한다. JPA 대표 매핑 어노테이션 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn 4.1 @Entity JPA를 사용를 사용하여 매핑할 클래스는 @Entity 어노테이션 필수 속성 name : JPA에서 사용할 엔티티 이름 설정, 설정하지 않으면 클래스 이름 그대로 사용 주의사항 기본 생성자는 필수 final 클래스, enum, interface, inner 클래스에는 사용 불가 저장할 필드에 final을 사용하면 안된다 4.2 @Table 엔티티와 매핑할 테이블 지정 생략시 매핑한.. 2022. 7. 20.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (3) JPA 시작 들어가며 3강을 정리한다. 해당 글을 정리하면서 엔티티의 상태에 대해 자세히 알 수 있었다. 3.1 엔티티 매니저 팩토리와 엔티티 매니저 데이터베이스를 하나만 사용하는 애플리케이션은 일반적으로 엔티티매니저팩토리를 하나만 생성 엔티티 매니저 팩토리는 생성 비용이 상당히 큰데에 반해 엔티티 매니저를 생성하는 비용은 거의 들지 않는다. 엔티티 매니저 팰토리는 여러 스레드가 동시에 접근해도 안전하므로 공유해도 도지만 엔티티 매니저는 동시 접근시 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안된다. 엔티티 매니저는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않는다 보통 트랜잭션을 시작할 때 커넥션을 획득한다. 3.2 영속성 컨텍스트란? 영속성 컨텍스트란 ‘엔티티를 영구 저장하는 환경’이라는 뜻 .. 2022. 7. 13.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (2) JPA 시작 들어가며 스터티 두번째 장인 2강. 특이점은 책에서는 xml 파일인 설정값에 대해서 설명이 되어 있지만 현재 회사에서 사용하고 있는 yml 파일에 jpa 부분을 분석하기로 하여 정리하였다. 2장 JPA 관련 yml 파일 설정 ddl-auto -> none / create-drop / create / update / validate naming : physical-strategy: com.vladmihalcea.hibernate.type.util.CamelCaseToSnakeCaseNamingStrategy properties.hibernate.default_batch_fetch_size properties.hibernate.order_inserts, updates 2.6.1 엔티티 매니저 설정 엔티티 .. 2022. 7. 10.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (1) JPA 소개 들어가며 현업에서 JPA를 사용하고 있지만 항상 기본기가 중요하다는 생각하에 JPA에 교과서라고 불리는 김영한님의 자바 ORM 표준 JPA 프로그래밍을 읽으며 해당 내용을 정리하기로 했다. 현재 회사에서 나와 비슷한 연차인 동료와 함께 스터티 요일을 정해서 스터디할 분량을 정한 후에 각자 공부한 내용을 정리하여 설명하기로 하고 퇴근 후 스터디를 하기로 정했다. 이때 정리한 내용을 남겨둔다. 1장 1.1 SQL을 직접 다룰 때 발생하는 문제점 - 데이버베이스는 객체 구조와는 다른 데이터 중심의 구조를 가지므로 객체를 데이터베이스에 직접 저장하거나 조회할 수 없다. 따라서 개발자가 객체지향 애플리케이션과 데이터베이스 중간에서 SQL과 JDBC API를 사용해서 변환 작업을 직접해줘야 함 --> 여기서 문제는.. 2022. 7. 3.
자바의 정석 - 자바 기본기 정리하기 (13)람다, 스트림 들어가며 문제 구현에 있어서 자바에 대한 기본기의 부족함을 느껴서 오랜만에 자바의 기본 저서인 자바의 정석을 다시 피게 됐다. 그러면서 정말 신기한 경험을 하게 되었는데 바로 예전에 잘 이해가 안가서 읽고 넘어갔던 내용들이 이제는 내 머릿속에서 자연스럽게 그려지는 경험을 하게 되었다. 그동안에 시간들이 헛되지는 않았나보다. 어느 곳에서나 기본기는 중요하듯이 이번 기회를 통해 자바 기본기를 더 단단히 다지고자 챕터별로 글로 정리하면서 다시 한번 암기를 하고 좀 더 디테일하게 알아야 되는 곳은 챕터를 나눠서 자바의정석에 나온 내용 + 보강된 내용을 더해서 정리를 하고자 한다. 정리 람다식 람다식은 간단히 말해서 메서드를 하나의 식으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확하게 표현할 수 있게 해준.. 2021. 12. 1.
자바의 정석 - 자바 기본기 정리하기 (11)지네릭스 / 열거형 / 어노테이션 들어가며 문제 구현에 있어서 자바에 대한 기본기의 부족함을 느껴서 오랜만에 자바의 기본 저서인 자바의 정석을 다시 피게 됐다. 그러면서 정말 신기한 경험을 하게 되었는데 바로 예전에 잘 이해가 안가서 읽고 넘어갔던 내용들이 이제는 내 머릿속에서 자연스럽게 그려지는 경험을 하게 되었다. 그동안에 시간들이 헛되지는 않았나보다. 어느 곳에서나 기본기는 중요하듯이 이번 기회를 통해 자바 기본기를 더 단단히 다지고자 챕터별로 글로 정리하면서 다시 한번 암기를 하고 좀 더 디테일하게 알아야 되는 곳은 챕터를 나눠서 자바의정석에 나온 내용 + 보강된 내용을 더해서 정리를 하고자 한다. 정리 지네릭스(Generics) 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기.. 2021. 11. 22.