Computer Science/Database 3

Entity Factory

Entity란?스키마에 대한 조건, 정의가 들어간다. (타입 등) 그러니까 엔티티는 스키마에 대한 정의이다. 스프링부트의 구조 중 DTO라고 해서 데이터를 전달하는 객체인데자바에서의 변수 선언이라고 이해하면 쉽다. DTO에서 선언된 데이터들을 가지고 데이터베이스레 전달할지 말지를 결정한다. 그래서 Controller를 통해서 DTO가 값이 들어오면그대로 데이터베이스로 가는게 아니라,Comtroller는 Entity를 소개시켜 주고Entoty는 그 형태에 맞춰 SQL문으로 바꿔준다. SQL로 바꿔주는건 JDBC의 역할이다.  엔티티 팩토리가 생성이 됬다? JPA를 하겠다.    Entity엔티티(Entity)는 데이터베이스 테이블과 매핑되는 클래스엔티티 클래스는 테이블의 구조와 데이터를 정의한다.예를 들어..

ORM, JPA, Hibernate, MyBatis

ORM이란? 객체 관계 매핑(Object-Relational Mapping) 이라고Java와 같은 객체지향 언어에서의 객체와 RDB의 테이블을 자동으로 매핑하는 방법이다.   예를 들어 스프링부트에 있는 '{ 객체 }'  와 관계형 데이터베이스 사이에 ORM이 역할을 맡는다. 데이터베이스를 프로그래밍 언어의 객체 관점으로 바라볼 수 있어서객체 지향 프로그래밍 언어를 이용해 프로그램을 개발하기 편리하다. SQL문을 사용하지 않아도 객체 지향 코드를 작성할 수 있고, 코드의 가독성을 높여 개발자 편의성을 증대시킨다. 하지만 복잡한 프로젝트를 수행할 때에는 ORM으로만으로 서비스를 구현하기 어려울 수 있다.복잡한 쿼리를 ORM으로만으로 구성하기에는 한계가 있다. 대표적인 ORM 프레임워크로는자바의 하이버네이트..

데이터베이스

서버와 클라이언트인터넷 서비스는 보통 서버와 클라이언트가 관계를 맺는다.    클라이언트는 서버로 요청하는 프로그램 모두를 말한다.예를 들면 우리가 많이 사용하는 웹 브라우저가 있다.웹 브라우저로 우리는 검색을 한다.이 행위를 '서버에 요청한다' 고 표현한다. 이제 서버는 클라이언트의 요청을 받았고, 이 요청을 처리해야한다.클라이언트가 데이터를 요청했을 수도 있고, 단순히 서버 내에서 처리를 해달라는 것일 수도 있다. 위에서 예시를 든 웹 브라우저로 우리는 검색을 했다면서버는 이 요청을 새로운 화면으로 가기 위한 데이터를 달라는 요청이다. 그렇다면 이 데이터들은 가져오는 역할을 서버가 한다면,이 데이터들은 어디서 가져올까?  데이터베이스데이터베이스는 데이터를 한 군데에 모아놓고여러 사람이 사용할 목적으로..