티스토리 뷰

면접

JPA의 영속성 컨텍스트, 제네릭

장진혁 2023. 6. 1. 13:52
JPA 영속성 컨텍스트란?

JPA 영속성 컨텍스트는 엔티티를 영구 저장하는 환경이라는 뜻이고 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 입니다. 영속성 컨텍스트는 엔티티 객체를 생성하거나 조회할때 생성되고 트랜잭션이 시작되고 커밋되거나 롤백될 때 까지 유지됩니다. 영속성 컨텍스트 기능과 장점으로 엔티티 객체를 저장하는 1차 캐시가 있습니다. 1차 캐시는 동일한 엔티티에 대한 조회가 반복적으로 이루어질때 데이터베이스에 접근하지 않고 엔티티를 가지고올수 있어서 성능향상에 도움이 됩니다. 그리고 쓰지 지연이라는 기능이 있는데 엔티티의 변경된 값을 데이터베이스에 바로 보내지 않고 쌓아뒀다가 flush나 커밋을 통해서 한꺼번에 보내는 기능입니다 이것도 데이터베이스의 호출을 줄여서 성능향상에 도움이 됩니다. 트랜잭션 내에서 일관성을 유지하기 위해 엔티티가 수정되거나 삭제되면 트랜잭션 커밋시점에서 데이터베이스와 동기화를 하여 데이터 일관성과 무결성을 보장한다.

 

제네릭 이란?  컬렉션 클래스에서 왜 제네릭을 사용할까?

제네릭은 클래스 또는 인터페이스를 정의할 때 타입을 외부에서 사용자가 미리 지정해서 타입의 경계를 만들고 객체별로 다른 타입의 자료가 저장될 수 있도록 하는 것이다. 제네릭을 사용할때 껶쇠 괄호를 사용하는데 괄호 안에 타입명을 작성하면 원하는 타입만 저장할 수 있다. 그래서 제네릭 사용으로 오는 장점은 프로그램 실행 단계에서 타입으로 인한 오류가 나서 프로그램이 종료되는 것보다 컴파일 단계에서 오류를 잡을 수 있기 때문에 타입으로 프로그램이 종료되는 현상을 방지할 수 있다. 그리고 컬렉션에서 요소를 가져올 때 형변환을 자동으로 처리합니다. 개발자는 불필요한 형변환을 수동으로 처리할 필요가 없어집니다. 그래서 제네릭을 쓰면 오류를 미리 방지하고 안정성을 높여주는 장점이 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함