JPA

2023. 5. 6. 18:05Java/JPA

작성일 : 2022. 2. 18.

 

 

JPA 뭐냐.

 

@Entity 만들면 테이블을 자동으로 생성해주는 희한한 API.

 

12년전까지 다녔던 첫 회사.

자체 java 프레임워크를 쓸 때,

SQL 쿼리직접 안짜고

java.util.Vector 에 Primary Key, Attribute 값을 넣어서 ScreenManager 쪽에 inquire / update (save였나???) 로 넘겨주면 내부적으로 최척화 안된 쿼리를 자바 소스에서 생성해서 쿼리 결과를 다시 Vector 에 담아서 가져왔다.

 

(DB도 야드, 제품관리, 창고관리... 단순한데다 innoDB 이전의 mysql 을 쓸 땐 DB 파일을 복사만으로 백업하거나 이전하기가 용이했다)

 

---

(고객사에 영업할 때 "저희 제품은 표준SQL만 쓰기 때문에 DB호환성이 좋다" 고? 느려 터진 휴...)

 

그래서 SQL 에 익숙하지 않았기에 쿼리 작성을 꺼렸던 적이 있다. 개발자에게 쿼리는 거의 필수인데...

SQL 을 피해서 어쩌다 보니 안써도 되는 업무를 접함으로써 더 멀게 돌아 왔다.

소위 Eclipse RCP 기반 XML 활용 플랫폼 개발.

---

 

요번에 투입된 현장에서 !! 요즘 핫하다 !! 는 JPA 는 접하게 되었다.

이건 앞서 언급한 업체 플랫폼과 달리 JDK 에서 직접 지원하는 API 와 이를 구현한 Hibernate 프레임워크를 활용하는 방식이다. 내부적으로 쿼리를 자동으로 만들어 주는 점에서 유사하지만 훨씬 체계화되어 있다.

 

다만, 자유로운 SQL 쿼리가 많이 그리워진다는 단점이 있다.

 

프로젝트 끝나기 전에 어서 정리해놔야지.