🤔 이번주에는 JPA에 대해서 알아보도록 하겠습니다 !!
<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();