====== 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}}