====== Hibernate ====== * description : Hibernate * author : 오션 * email : shlim@repia.com * lastupdate : 2022-12-28 Wed ====== Hibernate ORM ====== ===== Object/Relational Mapping ===== 하이버네이트(Hibernate) ORM을 사용하면 개발자는 애플리케이션 프로세스보다 더 오래 지속되는 애플리케이션을 보다 쉽게 작성할 수 있습니다.\\ Object/Relational Mapping(ORM, 객체 관계형 매핑) 프레임워크인 하이버네이트는, JDBC로 관계형 데이터베이스에 적용되므로 데이터 지속성과 관련이 있습니다.\\ ===== JPA Provider ===== 하이버네이트는 자체 native API를 가지고 있으며, Java Persistence API (JPA) 사양의 구현체이기도 합니다.\\ Java SE 애플리케이션, Java EE 애플리케이션 서버, Enterprise OSGI 컨테이너 등 JPA를 지원하는 모든 환경에서 쉽게 하이버네이트를 사용할 수 있습니다.\\ ===== Idiomatic persistence (관용구 지속성?) ===== 하이버네이트를 사용하면 상속성(inheritance), 다형성(polymorphism), 연결(association), 구성(composition), 그리고 Java 컬렉션 프레임워크를 포함하는\\ 객체 지향 관용구를 따르는 영속 클래스(persistent classes)를 개발할 수 있습니다.\\ 하이버네이트는 영속 클래스를 위한 인터페이스나 기본 클래스를 필요로 하지 않으며, 모든 클래스 또는 데이터 구조가 영구적일 수 있도록 합니다.\\ ===== 사용 예제 ===== * Java public class Person { private String name; private String height; private String weight; private String ssn; // implement getter & setter methods } \\ * iBatis 해당 쿼리의 결과를 받을 객체를 지정해줄 수 있다. 즉, getPerson이라고 정의된 쿼리 결과는 net.agilejava.person.domain의 Person 객체에 자동으로 매핑되는 것이다. \\ * Hibernate ==== Word ==== Hibernate : (동물이) 동면(冬眠)하다, 겨울잠 자\\ ORM : Object Relational Mapping ==== Ref Link ==== [[https://hibernate.org/orm/|Hibernate ORM]]\\ [[https://hibernate.org/orm/what-is-an-orm/|Hibernate ORM - What is Object/Relational Mapping?]]\\ [[https://eun-jeong.tistory.com/31|[DB]ORM (Object Relational Mapping) 사용 이유, 장단점]]\\ {{tag>오션 Lenovo_ThinkPad_T15_Gen2}}