JPA

@Entity JPA에서 엔티티란 쉽게 생각하면, DB 테이블에 대응하는 하나의 클래스라고 생각할 수 있습니다. @Entity가 붙은 클래스는 JPA가 관리해주며, JPA를 사용해서 DB 테이블과 매핑할 클래스는 @Entity를 꼭 붙여야만 매핑이 가능합니다. @Entity를 사용할 때는 몇가지 주의사항이 있습니다. 주의사항 접근 제어자가 public 혹은 protected 인 기본 생성자가 필수입니다. 구현체에 따라 되는 것도 있으나, 스펙상 사용하지 못하도록 해두었기 때문에 사용하지 않는 것이 좋습니다. final 클래스, enum, interface, inner 클래스에는 사용이 불가능합니다 저장하려는 속성은 final이면 안됩니다. 구현체에 따라 되는 것도 있으나, 스펙상 사용하지 못하도록 해두었..
플러시 영속성 컨텍스트(Persistence Context)와 데이터베이스를 동기화하는 것을 의미합니다. 보통 데이터베이스 트랜잭션이 커밋되는 순간에 플러시가 발생합니다. 플러시가 발생하면 "쓰기 지연 저장소"에 모아뒀던 INSERT, UPDATE, DELETE SQL등이 데이터베이스에 전달됩니다. 즉 플러시가 발생하면 영속성 컨텍스트의 변경사항을 DB에 반영함으로써 DB와 영속성 컨텍스트를 동기화시키는 것입니다. 플러시가 발생하면 플러시가 발생하면 다음과 같은 일이 차례대로 수행됩니다 변경 감지(Dirty Checking) 수정된 엔티티가 있다면 쓰기 지연 SQL 저장소에 등록 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송(등록, 수정, 삭제) 플러시하는 방법 em.flush() - 직접 호출 ..
말 랑
'JPA' 태그의 글 목록