개발/JPA

    [JPA] 객체지향 쿼리

    [JPA] 객체지향 쿼리

    안녕하세요. 개발자 Jindory입니다. 오늘은 JPA 객체지향 쿼리에 대해서 알아보는 글을 작성해보고자 합니다. JPA는 다양한 쿼리 방법을 지원 JPAL JPA Criteria QuertDSL 네이티브 SQL JDBC API 직접 사용, Mybatis, Srping JDBC Template 함께 사용 JPQL이란 JPA에서 SQL을 추상화한 JPQL(Java Persistence Query Language)이라는 객체 지향 쿼리 언어이다. 엔티티 객체를 대상으로 데이터를 조회한다. SQL과 문법이 유사하며, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 등의 언어를 지원한다. SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. // 검색 String jpq..

    [JPA] JPA 영속성 컨텍스트

    [JPA] JPA 영속성 컨텍스트

    안녕하세요. 개발자 Jindory입니다. 오늘은 JPA 영속성 컨텍스트에 대해 알아보는 글을 작성해보고자 합니다. JPA 영속성 컨텍스트 엔티티를 영구 저장하는 환경이라는 뜻이다. 어플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 저장소 같은 역할을 한다. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면, 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. // 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장한다는 의미이다. em.persist(member); 엔티티의 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed) : 영속성 컨텍스트에 저장되어 관리되는 상태 준영속(detached) : 영속성 컨텍스트에 저장..

    [JPA] JPA 연관관계 매핑

    [JPA] JPA 연관관계 매핑

    안녕하세요. 개발자 Jindory입니다. 오늘은 JPA 연관관계 매핑에 대해서 알아보는 글을 작성해보고자 합니다. JPA 연관관계 매핑 엔티티들은 대부분 다른 엔티티들과 연관관계를 가지고 있다. 예를 들어 대학생과 대학교 강의 간에도 A과목을 수강하는 학생의 관계, 학생이 수강한 과목과의 관계 서로를 가지고 있다. DB에서는 이런 연관관계를 맺고자 외래키(Foreign Key)를 맺어서 서로의 연관관계를 맺는다. 따라서 엔티티들 간에 관계를 매핑해 주는것을 연관관계 매핑이라고 하며, JPA에서 어떻게 연관관계 매핑을 하는지에 대해서 알아보고자 한다. 연관관계는 방향,다중성, 연관관계의 주인으로 크게 3가지로 나눠볼 수 있으며 아래와 같이 분류 할 수 있다. 방향 단방향 : 하나의 엔티티에서 다른 엔티티를..

    [JPA] JPA 기초

    [JPA] JPA 기초

    안녕하세요. 개발자 Jindory입니다. 오늘은 JPA 기초에 대해서 알아보는 글을 작성해보고자 합니다. JPA 기초 JPA 기초를 실습을 통해 알아보도록 하겠습니다. 개발환경 Java Eclipse 2021.12 Java 8버전 Maven 라이브러리 hibernate-entitymanager 5.3.7.Final com.h2database 1.4.197 jaxb-api 2.3.0 4.0.0 hellojpa hellojpa 0.0.1-SNAPSHOT org.hibernate hibernate-entitymanager 5.3.7.Final com.h2database h2 1.4.197 javax.xml.bind jaxb-api 2.3.0 ​ JPA 설정 JPA을 설정을 위해 src\main\resource..

    [JPA] JPA란 무엇일까?

    [JPA] JPA란 무엇일까?

    안녕하세요. 개발자 Jindory입니다. 오늘은 JPA에 대해서 알아보는 글을 작성해보고자 합니다. JPA(Java Persistence API)란? Java에서 ORM 기술 표준으로, Java에서 제공하는 API이다. 기존 EJB에서 제공되던 엔티티 빈을 대체하는 기술이다. ORM 기술이기 떄문에 Java 클래스와 DB 테이블을 매핑한다. EJB(Enterprise Java Bean) 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 과거 ORM 기술이 접목되었던 기술로 업무 로직을 처리하는 역할을 했다. 허나 코드가 복잡하고, 인터페이스가 복잡하고, 속도가 느린 문제점이 존재 Hibernate Java언어를 위한 ORM기반의 객체 관계 매핑 프레임워크이다. Gavin King과 시러스 테크..

반응형