데이터베이스 2

JAVA 데이터베이스 연동 (2) [리포지토리, DAO 설계]

1. 리포지토리 인터페이스 설계 Spring Data JPA는 JpaReposiroy를 기반으로 더욱 쉽게 데이터베이스를 사용할 수 있는 아키텍처를 제공한다. 스프링 부트로 JpaReposiroy를 상속하는 인터페이스를 생성하면 기존의 다양한 메서드를 손쉽게 활용할 수 있다. 여기서 이야기하는 리포지토리는 Spring Data JPA가 제공하는 인터페이스이다. 엔티티를 데이터베이스의 테이블 구조를 생성하는 데 사용했다면 리포지토리는 엔티티가 생성한 데이터베이스에 접근하는 데 사용된다. 리포지토리를 생선하기 위해서는 접근하려는 테이블과 매핑되는 엔티티에 대한 인터페이스를 생성하고 JpaReposiroy를 상속 받으면 된다. JpaReposiroy를 상속받을 때는 대상 엔티티와 기본값 타입을 지정해야 한다...

JAVA 2023.08.29

JAVA 데이터베이스 연동 (1) [ORM, JPA, 영속성 컨텍스트, 엔티티]

애플레케이션은 데이터(리소스)를 주고받는 것이 주 목적이다. 엔터프라이즈급 애플리케이션에서 정상적으로 로직이 동작하기 위해서는 데이터베이스가 꼭 필요하다. 1. ORM (Object Relational Mapping) ORM은 객체(클래스) 관계 매핑을 의미한다. 자바와 같은 객체지향 언어에서 의미하는 RDB(Relational Databse)의 테이블을 자동으로 매핑하는 방법이다. 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB 테이블과 어쩔 수 없는 불일치가 존재한다. ORM은 이 둘의 불일치와 제약사항을 해결하는 역할이다. ORM을 이용하면 쿼리문 작성이 아닌 코드(메서드)로 데이터를 조작할 수 있다. 1.1 ORM의 장점 - ORM을 사용하면서 데이터베이스 쿼리를..

JAVA 2023.08.29