JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
답변해주셔서 감사합니다!강의 내에서 말씀해주신 부분들도 어떤 의도에서 하신 말씀인지 이해되고, 제 질문에 답변주신 것들도 다 이해됩니다. 다만 토비님의 생각이 궁금해서 좀 더 질문을 이어가보겠습니다.JPA(엄밀히 얘기하면 hibernate) 가 나오기전 ORM 기술이 강하고 복잡한 기술적 요구사항이 있었고, 이에 비해 JPA 가 요구하는 기술적 요구사항은 대단히 미미한 부분이라는 점도 인지하고 있습니다. 불필요한 상속을 받아야하고, 기술때문에 메서드를 구현해야하는 일에 비해서 protected 생성자 하나 만드는 수준은 충분히 용인 가능한 수준입니다.하지만 용인 가능한 미미한 수준의 기술적 의존이 있는것과 기술적 의존이 아예 없는건 좀 다르다고 생각해서 질문을 이어가는데요. 답변해주신 부분에서 "기존 코드를 그대로 두고 기술을 바꿔도 무방합니다." 라고 말씀해주셨습니다. 다만 제 생각에 토비님의 답변은 기본적으로 처음부터 JPA 를 사용한다는 전제에서는 동의하는데요. 만약 JDBC 를 사용해서 직접 매핑코드를 구현하고, 도메인모델을 생성하는 애플리케이션이 있다고 가정해보겠습니다. 직접 매핑코드를 구현하고 있기 때문에 파라미터없는 기본 생성자는 없는 상태입니다. 이때 해당 애플리케이션에 JPA 를 도입하자는 의사결정이 나오게 된다면 코드 내부가 변경될 수 밖에 없습니다.의사결정자들은 기존 도메인 모델을 건드리지 말자고 결정했기때문에 JPA 관련된 설정들은 모두 orm.xml 로 처리하기로 했을때 이때도 생성자만큼은 해결할 수 없게됩니다.제가 극단적인 예시를 들었지만 이런 상황이 발생할 수 있는 것 자체가 어느정도는 기술의존성이 있다는거 아닐까 싶은데요. 혹시 토비님의 생각을 더 들어볼 수 있을지 궁금합니다.