2024/11/06 3

[JPA] 영속성 관리

영속성 관리#Spring/DB/JPAJPA의 핵심 두 가지객체와 관계형 데이터베이스 매핑하기영속성 컨텍스트영속성 관리에 대해 자세히 살펴보자엔티티 매니저 팩토리와 엔티티 매니저영속성 컨텍스트EntityManager.persist(entity);“엔티티를 영구 저장하는 환경”엔티티를 영속성 컨텍스트에 저장한다.DB에 저장하는게 아님영속성 컨텍스트는 논리적인 개념눈에 보이지 않는다.엔티티 매니저를 통해서 영속성 컨텍스트에 접근엔티티의 생명주기비영속 (new/transient)영속성 컨텍스트와 전혀 관계가 없는 새로운 상태영속 (managed)영속성 컨텍스트에 관리되는 상태준영속 (detached)영속성 컨텍스트에 저장되었다가 분리된 상태삭제 (removed)삭제된 상태비영속Member member = new..

Spring/JPA 2024.11.06

[JPA] About JPA

About JPA#Spring/DB/JPADatabase 방언방언 : SQL 표준을 지키지 않는 특정 DB만의 고유 기능각각의 DB가 제공하는 SQL 문법이랑 함수가 조금씩 다르다.JPA는 특정 DB에 종속적이지 않다.hibernate.dialect 속성에 DB를 지정해줄 수 있다.H2 : org.hibernate.dialect.H2DialectOracle 10g : org.hibernate.dialect.Oracle10gDialectMySQL : org.hibernate.dialect.MySQL5InnoDBDialectPostgreSQL : org.hibernate.dialect.PostgreSQLDialect기타 등등 40가지 이상 DB를 지원JPA 구동 방식JPA 매핑@Entity : JPA가 관리..

Spring/JPA 2024.11.06

[Java] 20. Wrapper/Class/System/Random 클래스

래퍼, Class 클래스#Java기본형의 한계자바는 객체 지향 언어이다. 그런데 자바 안에 객체가 아닌 것이 있다. 바로 int , double 같은 기본형(Primitive Type)이다.
한계점객체가 아님: 기본형 데이터는 객체가 아니기 때문에, 객체 지향 프로그래밍의 장점을 살릴 수 없다. 예를 들어 객 체는 유용한 메서드를 제공할 수 있는데, 기본형은 객체가 아니므로 메서드를 제공할 수 없다.추가로 객체 참조가 필요한 컬렉션 프레임워크를 사용할 수 없다. 그리고 제네릭도 사용할 수 없다. (이 부분은 뒤에서 설명한다.)null 값을 가질 수 없음: 기본형 데이터 타입은 null 값을 가질 수 없다. 때로는 데이터가 없음 이라는 상태를 나 타내야 할 필요가 있는데, 기본형은 항상 값을 가지기 때문에..