데이터들이 프로그램이 종료되어도 사라지지 않고 어떤 곳에 저장되는 개념을 영속성(Persistence) 이라고 한다.
자바에서는 데이터의 영속성을 위한 JDBC를 지원해주는데, 이는 매핑 작업을 개발자가 일일히 수행해야 하는 번거로움이 있다.
SQL Mapper와 ORM은 개발자가 직접 JDBC Programming을 하지 않도록 기능을 제공해주는 Persistence Framework 종류이다.
기존 JDBC 만의 사용으로 쿼리문을 만들어 요청하는 과정은 쿼리문이 조금만 길어져도 관리가 힘들거 번거롭다. 따라서 JPA와 MyBatis 라이브러리를 사용하여 문제를 해결할 수 있다.
-정리-
객체(Object)와 DB의 테이블을 Mapping 시켜 RDB 테이블을 객체지향적으로 사용하게 해주는 기술
객체와 RDB를 별개로 설계하고 중간에서 ORM이 매핑해주는 역할을 한다. 즉, ORM은 SQL문이 아닌 RDB의 데이터 그 자체와 매핑하기 때문에 SQL을 직접 작성하지 않는다.
여기서 RDB 테이블이란, 관계형 데이터베이스를 말한다. 참고
RDB 테이블은 객체지향적 특성(상속, 다형성, 레퍼런스) 등이 없어서 Java와 같은 객체 지향적 언어로의 접근이 쉽지 않다.
이럴때 ORM을 사용하면 보다 객체지향적으로 RDB를 사용할 수 있다!
Java에서 사용하는 대표적인 ORM으로는 JPA와 그의 구현체 Hibernate가 있다. JPA가 등장하기 전에는 위에 설명했듯이 MyBatis라는 Object Mapping 기술을 이용하였는데, MyBatis는 Java 클래스 코드와 직접 작성한 SQL 코드를 매핑 시켜주어야 했다.
하지만! JPA와 같은 ORM기술은 객체가 DB에 연결되기 때문에 SQL을 직접 작성하지 않는다.
따라서 JPA라는 ORM 기술에 의해 DB에서 조회한 데이터들이 객체로 연결되어 있고, 객체의 값을 수정하는 것은 DB의 값을 수정하는 것이라고 할 수 있다.
EssayGhostWriting是为留学生提供量身定制Essay代写服务的全球在线平台。我们的Essay代写 https://www.essayghostwriting.com/ 服务是专门为了缓解海外留学生的课业压力而成立的。任何学术问题同学们都可以联系我们,我们将以最优质的服务,最高标准的质量为您完成essay 和paper写作,或者数理学科、工科、社会人文学科等等各种类型的作业,保障作业质量和作业完成效率,让您的留学生活没有作业方面的后顾之忧。
정리를 잘하셔서 잘 보고갑니다. 혹시 최주호 강사님 강의 들으셨나요?? 다른 게시물들도 봤는데 필기체가 비슷해서요 !!