JPA 특징

최주영·2024년 12월 10일
0

JPA

목록 보기
1/5

✅ JPA (Java Persistence API)

  • 자바에서 ORM을 처리해주는 표준 API
  • 관계형 데이터베이스의 데이터와 java 객체를 mapping 하는 기술로 JDBC기반으로 구현

✅ JPA 기능

  • DB 설계 기반이 아닌, JAVA 클래스 설계를 기반으로 DB를 연동하여 데이터를 조작함
  • 메소드를 이용해서, 쿼리문을 작성하지 않고, 설정정보를 기반으로 자동으로 쿼리문을 생성/실행
  • 연결된 DB 테이블을 DDL구문을 작성하지않고, JPA가 제공하는 설정으로 생성/수정/삭제 가능

✅ JPA 장점

  • 코드단축(생산성 증가), 유지보수 편리, 성능향상, 벤더독립성(DB가 변경되도 문제 X)
    -> 오라클, MSSQL, 마리아디비 등에서도 실행 가능

✅ JPA 초기 세팅
pom.xml 에서 JPA 및 DB 라이브러리 설정하기

<!-- jpa 라이브러리 -->
		<dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-entitymanager</artifactId>
		    <version>5.6.7.Final</version>
		</dependency>
<!-- db 라이브러리 설정 (생략) -->

src/main/resources 밑 -> META-INF 폴더 생성 -> 그 밑에 persistence.xml 파일 생성 한 후
JPA 설정파일 등록

<!-- persistence.xml -->

<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">
	<!-- 연결한 디비와, hibernate 동작에 대한 설정  -->
	<persistence-unit name="jootest">  
		<properties>
			<!-- DB연결에 대한 설정 -->
			<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
			<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
			<property name="javax.persistence.jdbc.user" value="spring"/>
			<property name="javax.persistence.jdbc.password" value="spring"/>
			
			<!-- DB방언 설정하는 과정으로 DB버전에 따라 value 값이 달라짐 -->
			<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
			
			<property name="hibernate.show_sql" value="true"/> <!-- hibernate 출력 log에 대한 설정 -->
			<property name="hibernate.format_sql" value="true"/> <!-- 보기좋도록, 지정된 양식에 맞춰서 출력됨  -->
            <property name="hibernate.use_sql_comments" value="true"/>
			<property name="hibernate.hbm2ddl.auto" value="create"/> <!-- DDL 자동실행관련 옵션 설정 -->
			
		</properties>
	</persistence-unit>
</persistence>
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글