Back-end/JPA
-
JPA - Value Mapping(밸류 매핑)Back-end/JPA 2020. 6. 30. 16:49
밸류 매핑 Entity와는 다르게 다른 타입에 종속적인 타입을 매핑할 때 사용하는 방법입니다. 엔티티 클래스에 종속적인 밸류 클래스를 생성하여 엔티티 클래스가 생성, 삭제 될 때 동일하게 행동하게 됩니다. 여기서 실습하는 코드는 이전에 학습했던 프로젝트세팅과 엔티티매핑 포스팅에 설명되어 있어 참고하시면 됩니다. 밸류 타입 종류 기본 타입 (String, Date, Boolean, …) Composite Value 타입 Collection Value 타입 기본 타입의 콜렉션 컴포짓 타입의 콜렉션 이 중에서 Composite Value 타입에 대해 알아보겠습니다. Composite 밸류 타입 @Embadable : Composite Value 클래스에 지정하면 해당 클래스를 Composite Value로 만..
-
JPA - Entity Mapping(엔티티 매핑)Back-end/JPA 2020. 6. 30. 16:47
엔티티 매핑 엔티티를 매핑하는 방법에는 XML, 어노테이션 총 2가지의 방식이 있지만 보통 어노테이션 방식으로 사용하게 됩니다. 어노테이션을 활용하여 매핑하는 법에 대해 알아보겠습니다. 여기서 실습하는 코드는 이전에 학습했던 프로젝트세팅 포스팅에 설명되어 있습니다 @Entity 엔티티 클래스를 빈으로 등록하여 JPA와 연동할 수 있도록 해줍니다. 기본적으로 @Table을 포함하고 있습니다. @Entity(name = "users") 도메인 클래스명을 다른 클래스명으로 정의하고 테이블을 만들려고 할 때 name을 선언합니다. 도메인명은 User지만 users로 테이블이 생성된 모습입니다. @Id, @GeneratedValue @Id : 엔티티와 주키를 매핑할 때 사용합니다. 자바의 모든 primitive ..
-
JPA - 프로젝트 세팅방법Back-end/JPA 2020. 6. 30. 16:21
프로젝트 세팅 JPA를 활용하는 프로젝트를 만드는 방법을 알아봅시다. 개발 환경 IntelliJ Ultimate 2019.01.02 Mac OS Mojave Docker 2.0.0.3 PostgreSQL SpringBoot 2.1.5 Hibernate 5.3.10 데이터베이스 실행 Docker를 활용하여 postgreSQL을 연동합니다. 혹시 Docker를 활용하지 않으셨다면 postgreSQL를 참고해주시면 됩니다. JDBC 설정 spring.datasource.url=jdbc:postgresql://localhost:5432/springboot spring.datasource.username=junjang spring.datasource.password=pass Docker에서 설치 및 실행시 설정했..
-
JPA - ORMBack-end/JPA 2020. 6. 30. 16:17
ORM ORM(Object Relation Mapping)은 애플리케이션의 클래스와 SQL 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 메타데이터를 사용하여 자바 애플리케이션의 객체를 SQL데이터베이스의 테이블에 자동으로 영속화 해주는 기술입니다. Hibernate나 JPA같은 ORM을 사용하는 이유는 도메인 모델을 사용하기 위해서 입니다. DB 연동 방식 JDBC를 직접 사용하는 방식 try(Connection connection = DriverManager.getConnection(url, username, password)){ System.out.println("Connection created: "+ connection); String sql = "CREATE TABLE ACCOUNT (..
-
JPA - 관계형 데이터베이스와 자바Back-end/JPA 2020. 6. 30. 16:14
관계형 데이터베이스와 자바 JPA를 공부하기 전 데이터베이스와 자바의 관계를 알아보며 JPA가 탄생한 배경에 대해서 알아보겠습니다. JDBC JDBC는 데이터베이스와 자바를 연결하는 고리의 역할을 합니다. JDBC를 활용하여 아래와 같은 기능을 통해 연결합니다. DataSource / DriverManager Connection PreparedStatement JDBC 연동하기 저는 postgresql를 Docker를 활용해 실행하고 연동하겠습니다. 만약 다른 DB를 사용하셔도 상관은 없지만 sql문법과 Docker 명령어가 조금 다를 수 있습니다. Docker 다운로드 맥 윈도우 postgresql 사용법 : postgresql 포스팅 MySQL 사용법 : MySQL 포스팅 docker로 Postgre..