JAVA

JPA

lshjju 2025. 8. 14. 23:46

JPA란 무엇인가요?


JPA(Java Persistence API)는 자바 애플리케이션에서 관계형 데이터베이스를 쉽게 사용할 수 있도록 도와주는 표준 인터페이스입니다. 

쉽게 말해, 자바 객체와 데이터베이스 테이블 사이의 '통역사' 역할을 해주는 기술이에요.

 

출처 - https://ppss.kr/archives/197839


JPA가 필요한 이유


자바는 객체 지향 언어인데, 데이터베이스는 테이블 구조로 되어있어요. 

이 두 세계는 서로 다른 방식으로 데이터를 다루기 때문에 개발자가 둘 사이를 계속 변환해주는 작업이 필요했습니다. 

이런 '패러다임 불일치' 문제를 JPA가 해결해줍니다. 

예를 들어, 자바에서는 객체를 만들고 그 객체의 속성을 변경하면 되지만, 데이터베이스에서는 SQL 쿼리를 작성해서 데이터를 수정해야 합니다. 

JPA를 사용하면 자바 객체만 조작해도 데이터베이스에 자동으로 반영되니까 훨씬 편리하죠!


JPA의 작동 방식


JPA는 다음과 같이 작동합니다:



개발자가 자바 객체를 조작합니다
JPA가 그 객체의 변경사항을 감지합니다
JPA가 내부적으로 SQL 쿼리를 생성합니다
JPA가 JDBC API를 통해 데이터베이스와 통신합니다 


 

이렇게 개발자는 SQL을 직접 작성할 필요 없이 자바 코드만으로 데이터베이스 작업을 할 수 있게 됩니다.


JPA의 장점


생산성 향상: 

자바 컬렉션처럼 편하게 객체를 다룰 수 있어 개발 속도가 빨라집니다 


유지보수 용이: 

SQL 의존적인 코드가 줄어들어 유지보수가 쉬워집니다


객체 지향적 개발: 

데이터베이스보다 객체 지향적인 설계에 집중할 수 있습니다


데이터베이스 독립성: 

특정 데이터베이스에 종속되지 않는 코드를 작성할 수 있습니다


실제 사용 예시


JPA를 사용하면 다음과 같이 간단하게 데이터베이스 작업을 할 수 있어요:

// 데이터 저장 (SQL 없이!)
User user = new User();
user.setName("jinuk");
user.setAge(30);
entityManager.persist(user);  // 이것만으로 DB에 저장됨!

// 데이터 조회
User foundUser = entityManager.find(User.class, userId);
System.out.println(foundUser.getName());  // SQL 없이 객체처럼 사용!

 

java

JPA는 Hibernate와 같은 ORM 프레임워크의 표준 인터페이스이며, 스프링 부트에서는 Spring Data JPA를 통해 더욱 편리하게 사용할 수 있답니다. 

'JAVA' 카테고리의 다른 글

JAVA Comments  (2) 2025.08.27
JVM  (0) 2025.08.27
Getter Setter  (0) 2025.08.25
e.printStackTrace()  (0) 2025.08.21
Sort object  (0) 2025.08.19