문자 그대로 ORM은 객체와 RDBMS를 매핑하는 역할을 한다.
Hibernate, TopLink 등 여러 프레임 워크가 ORM 기술을 구현하기 위해 등장하였고, 이러한 ORM 프레임워크에 대한 표준화가 이루어 져서 만들어진 것이 JPA 이다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class selectMember {
public static void main(String[] args) {
// TODO Auto-generated method stub
String jdbc_driver = "com.mysql.cj.jdbc.Driver";
String jdbc_url = "jdbc:mysql://localhost:3306/board?serverTimezone=UTC";
try {
Class.forName(jdbc_driver).newInstance();
Connection con = DriverManager.getConnection(jdbc_url, "root", "root");
Statement st = con.createStatement();
String sql = "SELECT * FROM member";
ResultSet rs = st.executeQuery(sql);
while(rs.next()) {
String name = rs.getString(1);
String owner = rs.getString(2);
String date = rs.getString(3);
}
rs.close();
st.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class MemberDAO {
@PersistenceContext
EntityManager jpa;
public void save(Member member) {
jpa.persist(member);
}
public void findOne(Long id) {
return jpa.find(Member.class, id);
}
}
개발 생산성 혁신과 개발 속도, 유지보수 측면에서 과거와 확연하게 차이가 난다.
앞으로 2~3년 안에 JPA 사용하는 IT 기업들이 많아지며, 많은 개발자들이 원하는 IT기업으로 이직 하기 위해서는 JPA를 공부해야한다.
기본 키, 외래 키 매핑 1:N, N:1, 1:1, N:M 매핑 등
객체와 테이블을 제대로 설계하고 매핑하는 방법을 알아야 한다.
JPA 내부 동작 방식의 이해와 어떤 SQL문을 언제 만들고 실행하는지 이해 해야한다.