• [자바 ORM 표준 JPA 프로그래밍] 16장. 트랜잭션과 락, 2차 캐시

    16장. 트랜잭션과 락, 2차 캐시 16.1 트랜잭션과 락 16.1.1 트랜잭션과 격리 수준 트랜잭션은 ACID를 보장해야 함 원자성 (Atomicity): 트랜잭션 내에서 실행한 작업들은 하나의 작업인것 처럼 모두 성공하거나 모두 실패해야 함 일관성 (Consistencey): 모든 트랜잭션은 일관성 있는 DB 상태 유지해야 함(ex. DB에서 정한 무결성 제약 조건을 항상 만족) 격리성 (Isolation): 동시에...


  • [자바 ORM 표준 JPA 프로그래밍] 15장. 고급 주제와 성능 최적화

    15장. 고급 주제와 성능 최적화 15.1 예외 처리 15.1.1 JPA 표준 예외 정리 RuntimeException ㄴ javax.persistence.PersistenceException ㄴ JPA 표준 예외 트랜잭션 롤백을 표시하는 예외 심각한 예외, 복구 X 트랜잭션 강제 커밋해도 안먹히고 javax.persistence.RollbackException 발생 트랜잭션 롤백을 표시하지 않는 예외 심각하지 않은 예외 개발자가 커밋, 롤백 여부 판단해서 선택 트랜잭션 롤백을...


  • [자바 ORM 표준 JPA 프로그래밍] 14장. 컬렉션과 부가 기능

    14장. 컬렉션과 부가 기능 14.1 컬렉션 자바에서 기본 제공하는 컬렉션 클래스들은 JPA에서 다음과 같은 경우 사용할 수 있음 @OneToMany, @ManyToMany 사용해 일대다, 다대다 엔티티 관계 매핑 시 @ElementCollection 사용해 값 타입 하나 이상 보관 시 Collection: 자바가 제공하는 최상위 컬렉션. 하이버네이트는 중복을 허용하며 순서 보장하지 않는다고 가정 Set: 중북을 허용하지...


  • [자바 ORM 표준 JPA 프로그래밍] 13장. 웹 애플리케이션과 영속성 관리

    13장. 웹 애플리케이션과 영속성 관리 13.1 트랜잭션 범위의 영속성 컨텍스트 순수 J2SE 환경에선 개발자가 직접 엔티티 매니저 생성하고 트랜잭션 관리 스프링, J2EE 컨테이너 환경에서 JPA 사용시엔 컨테이너가 제공하는 전략 따라야 함 13.1.1 스프링 컨테이너의 기본 전략 트랜잭션 범위의 영속성 컨텍스트 가 기본 전략 트랜잭션 시작시 영속성 컨텍스트를 생성하고 트랜잭션 끝날...


  • [자바 ORM 표준 JPA 프로그래밍] 12장. 스프링 데이터 JPA

    12장. 스프링 데이터 JPA 12.1 스프링 데이터 JPA 소개 CRUD 처리를 위한 공통 인터페이스 제공 리포지토리 개발 시 인터페이스만 작성하면 실행 시점에 구현 객체를 동적으로 생성, 주입 데이터 접근 계층 개발 시 구현 클래스 없이 인터페이스만 작성해도 됨 12.2 스프링 데이터 JPA 설정 필요 라이브러리 spring-data-jpa 설정 <!-- spring data...