본문 바로가기
728x90
반응형

분류 전체보기111

[자바 ORM 표준 JPA 프로그래밍 2] ORM 기술, JPA JPA (Java Persistence API) - 자바 진영의 ORM 기술 표준 JPA는 오픈소스에서 출발한 자바 표준 명세 EJB(자바 표준) → 하이버네이트(오픈소스) → JPA (자바 표준) JPA 버전 JPA 1.0(JSR 220) 2006년 : 초기 버전. 복합 키와 연관관계 기능이 부족 JPA 2.0(JSR 317) 2009년 : 대부분의 ORM 기능을 포함, JPA Criteria 추가 JPA 2.1(JSR 338) 2013년 : 스토어드 프로시저 접근, 컨버터(Converter), 엔티티 그래프 기능이 추가 JPA는 인터페이스의 모음 (JAVA의 표준 인터페이스) JPA 2.1 표준 명세를 구현한 3가지 구현체 : 하이버네이트, EclipseLink, DataNucleus (JPA는 하이.. 2023. 9. 12.
[자바 ORM 표준 JPA 프로그래밍 1] SQL 중심적인 개발의 문제점 애플리케이션은 주로 객체 지향 언어로 개발 - Java, Scala, ... 객체(데이터)는 주로 관계형 DB에 보관 - Oracle, MySQL, ... → 지금 시대는 객체를 관계형 DB에 관리한다! → 즉, SQL에 의존적인 개발을 피하기 어렵다! SQL 중심적인 개발의 문제점 수많은 객체 CRUD, 수많은 SQL 작성 INSERT INTO … SELECT … UPDATE … DELETE … 자바 객체를 SQL로... SQL을 자바 객체로... 객체에 필드 추가라도 하게되면..? → 무한 반복, 지루한 코드 ‘객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다.’ 객체(Object)를 영구 보관하는 다양한 저장소(RDB, .. 2023. 9. 12.
[자바 ORM 표준 JPA 프로그래밍 0] JPA 공부 목표 [Spring 입문10] 스프링 DB 접근 기술: 순수 JDBC (tistory.com) [Spring 입문10] 스프링 DB 접근 기술: 순수 JDBC 환경 설정 build.gradle - jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' application.properties - 스프링 부트 데이터베이스 연결 joly156.tistory.com [Spring 입문12] 스프링 DB 접근 기술: 스프링 JdbcTemplate (tistory.com) [Spring 입문12] 스프링 DB 접근 기술: 스프링 JdbcTemplat.. 2023. 9. 9.
[스프링 부트와 JPA 활용 2] 도메인 분석: 도메인 모델과 테이블 설계 기능 요구사항 회원 기능 회원 등록 (회원가입) 회원 조회 (회원목록) 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품의 종류: 도서, 음반, 영화 상품은 재고 관리가 필요하다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 회원, 주문, 상품의 관계 회원은 여러 상품을 주문할 수 있고, 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론, 엔티티에서도 거의 사용하지 않는다. 따라서 주문상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어냈다. 상품 분류 상품은 도서, 음반, 영화로 구분되는데 상품이라는 공통 속성을.. 2023. 9. 7.
[스프링 부트와 JPA 활용 1] JPA와 DB 설정 main/resources/application.yml spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create #이 옵션은 애플리케이션 실행 시점에 테이블을 drop하고, 다시 생성 properties: hibernate: #show_sql: true #System.out에 실행SQL 남김 format_sql: true logging.level: org.hibernate.SQL: debug#logger를 통해 실행SQL 남김 #org.hibernate.type: trace #SQL 실행 파라미터를 .. 2023. 9. 6.
[스프링 부트와 JPA 활용 0] [웹 어플리케이션 개발] 스프링 부트 + JPA 두 기술의 조합으로 웹 어플리케이션 개발하는 것이 현재 세계적인 추세 프로젝트 환경설정 [Spring 입문 2] 스프링 웹 개발 기초 (tistory.com) [Spring 입문 2] 스프링 웹 개발 기초 스프링 부트가 제공하는 Welcome Page /resources/static/ 위치에 index.html 파일 스프링 부트가 지원하는 정적 컨텐츠 위치에 /index.html 이 있으면 된다. 컨트롤러에는 @Controller 어노테이션 @Controller public cla joly156.tistory.com [Spring 입문9] 스프링 DB 접근 기술: H2 데이터베이스 설치 (tistory.com) [Spring 입문9] 스프링 DB 접근 기술: H2 데이터베이스 설치.. 2023. 9. 6.
728x90
반응형