목록Spring/JPA (2)
기억의 저장소
JPQL이란 무엇이냐 JPA가 아무리 좋다고 하더라도 도메인에 따른 디테일한 쿼리는 생성하지 못한다. 공통적인 쿼리를 생성해줄뿐.. 그래서 JPQL이란것을 만들게 되었다.JPA가 객체 중심 개발을 하는것처럼 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공하며 JPQL을 한마디로 정의하면 객체 지향 SQL이라 말할 수 있다. (SQL을 추상화해서 사용한다는것은 즉 객체지향적으로 개발한다는것이다) (SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지않게함) 그렇다고해서 SQL문법과 아예 다른것은 아니고 쿼리를 작성할때 객체명이나 객체필드명을 쓰는등의 방식이 조금 다르다. 문법 기본적인 문법 일반적인 SQL 문법과..
글 작성 이유 JPA가 왜 나오게 되었고 어떻게 발전하여 어떻게 쓰이냐를 정리하려한다 JPA가 왜 나왔는지 알기전에 객체지향 프로그래밍과 관계형 디비의 차이를 알자 객체지향 프로그래밍 VS 관계형 데이터베이스 연관관계 객체는 참조를 사용하여 연관관계를 표현한다. 디비는 외래키를 사용하여 연관관계를 표현한다. 연관관계를 표현하는게 달라 디비에 맞춰 연관관계를 모델링하게되었음 객체의 장점은 객체 그래프 탐색인데 어디까지 쿼리를 날려야할지 모르므로 이것을 사용하지 못하였다. (엔티티신뢰성이 떨어짐 값이 있나 없나 쿼리를 봐야 알 수 있음) 참조객체 사용 > 객체 그래프 탐색 > 예전에 신뢰성문제 해결(여러 테이블이 있을때 조인해서 어디까지 가져온건지에 대한 신뢰) 객체지향 설계의 목표는 자율적인 객체들의 협력..