SQL은 하드코딩이므로 컴파일 에러가 안나서 에러 원인 나중에 파악 가능
기획 변경 시 일일이 SQL 수정 필요
객체지향과 DB간 패러다임 불일치 문제로 인해 객체지향적으로 설계할수록 DB에 매핑하는 비용만 늘어남
3-1. 연관관계 SQL로 저장 시 두 연관관계에 각각의 INSERT 쿼리를 날려줘야 하므로 직접 2개의 INSERT 쿼리를 작성해줘야됨
3-2. 연관관계 SQL로 조회 시 연관관계에 대한 값 설정 작업 비용이 증가
3-3. 객체지향 설계는 객체 그래프 탐색이 원활해야하는데 어떻게 SQL로 조회했느냐에 따라 조회된 객체의 특정 값이 null로 조회될 수 있어서 엔티티 신뢰문제 또한 발생
3-4. 같은 id로 한 객체 여러 번 조회 시 서로 다른 인스턴스이므로 동등 비교해도 다르다고 나옴
3-5. 상속관계에서 조인 시 일일이 조인 질의를 작성해야해서 성능 이슈가 발생할 수 있고, 또한 다른 자식 조회 원할 때 해당 자식 SQL을 추가로 또 작성해줘야됨
개발자가 직접 SQL 매퍼 역할을 하며 SQL 작성 비용이 늘어나고 또한 객체지향 설계를 하면 D와 패러다임 불일치한 문제로 인해 DB에 매핑하는 비용만 늘어나게 됨