JPA

Tae hyun·2023년 2월 8일
0

orm(Object Relational Mapping)의 개념 : 객체와 entity간의 관계
자바객체에서 sql구문을 사용하지 않음
객체와 RDBMS엔티니의 매핑용 기술을 말한다.
->Hibernate프레임워크(자바기반의 orm프레임워크)
이 프레임워크는 EJB entitybean에서 발전한 것.
스프링에서 hibernate프레임워크를 내장했는데 그게 jpa(JavaPersistenceAPI).자바ORM기술에 대한 표준명세
(Hibernate는 JPA의 구현체이다)

Hibernate 호출 순서
1. 객체가 만들어짐
2. Transient State로 감
3. 메서드 호출에 따라서 persistent State로 이동(객체가 Hibernate Container로 들어가서 관리들어감=영속성 유지를 위해 행 추가)
4. 메서드 호출에 따라 Detached State(여기로 잠깐 나갔다가 merge()되어 다시 Hibernate Container로 들어옴) 또는 Removed State로 가고
5. Garbage는 메모리 삭제를함

참고링크
https://velog.io/@songunnie/JPA

예시는 아래 링크 참고
https://velog.io/@serringg/Hibernate

Entity

jpa에서 사용할 클래스의 역할을 주려면 CrudRepository를 상속받아야 함

public interface ARepository extends CrudRepository<A, String>{
//테이블의 한 행과 매핑을 할 때, A: A클래스가 Entity와 매핑될 객체라는 뜻.
//테이블에서의 primary key가 String이다.
}


save(): 하이버네이트 컨텍스트로 객체를 들여보내줌
save의 인자로 A클래스를 보내면 항상 퍼시스턴트를 유지하기 위해 디비에 행을 유지하게 만들어줌

profile
안녕하세요 개발하는 알파카입니다. https://github.com/oh-taehyun

0개의 댓글