📸 스터디 인증샷


🤔 이번주에는 JPA에 대해서 알아보도록 하겠습니다 !!

📌 JPA(Java Persistence API)란?

<aside> 💡

JPA는 Java 진영에서 사용되는 ORM 표준 인터페이스입니다.

ORM(Object-Relational Mapping)이란

**Object(객체)**와 Relational(관계형 Database) 사이를 자동으로 매핑(Mapping) 해주는 기술입니다…!

저희는 프로젝트에서 스프링 프레임워크를 사용하죠 ?? 스프링 프레임워크가 바로 Object(객체)입니다. 여러가지 데이터베이스를 사용할 수 있지만, 보통 관계형 데이터베이스를 많이 사용합니다…! 이번 프로젝트에서도 MySQL을 사용할 예정이니까요.

이런 관계형 데이터베이스(Relational)과 자바 프레임워크를 함께 사용할 수 있도록 매핑해주는 기술이 JPA입니다 !!

</aside>

🤔 이런 매핑이 왜 필요할까요???

스프링 프레임워크의 특징으로는

관계형 DB의 특징으로는

😵 벌써 함께 이용하기 쉽지 않을 것 같죠??

예를 들어서 스프링에서 하나의 필드를 수정한다면??

user.setName("아정이"); // 객체: 자연스럽게 이름 변경

하지만, RDMS에서는…. 매번 SQL을 작성해서 변경해야 하죠??

UPDATE user SET name = '아정이' WHERE id = 1;

이러한 간극을 해소하기 위해서 실제로 예전에 JDBC만을 사용했을 경우에는…

Connection conn = DriverManager.getConnection(url, user, pw);
String sql = "SELECT * FROM user WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();