본문 바로가기
728x90
반응형

JPA Tutorial9

[자바 ORM 표준 JPA 프로그래밍 5] Hello JPA - JPQL 가장 단순한 조회 방법 EntityManager.find() 객체 그래프 탐색 (a.getB().getC()) 나이가 18살 이상인 회원을 모두 검색하고 싶다면? JPQL JPQL로 전체 회원 검색 try{ List result=em.createQuery("select m from Member as m", Member.class) .getResultList(); for(Member member : result){ System.out.println("member.name = " +member.getName()); } tx.commit(); } JPA를 사용하면 엔티티 객체를 중심으로 개발한다. 문제는 검색쿼리. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색한다. 모든 DB 데이터를 객체로 변환.. 2023. 9. 16.
[자바 ORM 표준 JPA 프로그래밍 4] Hello JPA - 애플리케이션 개발 객체와 테이블을 생성하고 매핑 Member 테이블 생성 drop table member; create table member ( id bigint not null, name varchar(255), primary key (id) ); Member 클래스 생성 import javax.persistence.Entity; import javax.persistence.Id; @Entity //JPA를 사용하는, JPA가 관리할 객체 public class Member { @Id //데이터베이스 PK와 매핑 private Long id; private String name; //Getter, Setter public Long getId() { return id; } public void setId(Long id).. 2023. 9. 15.
[자바 ORM 표준 JPA 프로그래밍 3] Hello JPA - 프로젝트 생성 프로젝트 생성 File > New > Project > Maven 선택 메이븐 설정 groupId: jpa-basic artifactId: ex1-hello-jpa version: 1.0.0 pom.xml 에 라이브러리 추가 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 JPA 설정하기 - JPA 설정 파일 persistence.xml 위치(표준 위치 정해져있음): resources/META-INF/persistence.xml persistence-unit name 으로 이름 지정 javax.persistence 로 시작: JPA 표준 속성 hibernate 로 시작: 하이버네이트 전용 속성 JPA는 특정 데이터베.. 2023. 9. 13.
[자바 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.
728x90
반응형