[Spring] 스프링에서 사용되는 디자인 패턴들
·
Programming/Spring,JPA
디자인 패턴이란?반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션이다. 프로그램을 작성하다보면 프로그래머들은 비슷비슷한 상황에 직면하게 되는데, 그러한 상황에서 해결할 수 있는 솔루션이라고 생각하면 된다.어댑터 패턴✔️ 어댑터 패턴이란?호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 디자인 패턴으로, 호출 당하는 쪽의 메서드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴.  ✔️실생활에서의 어댑터우린 이미 실생화에서 어댑터를 사용하고 있다. 나는 아이폰 충전기를 가지고 있는데, C타입의 기기를 충전하기 위해선 어탭터를 이용하여 충전할 수 있다.  ✔️ 구현 방법구현 방법은 위 그림과 같다. 어댑터는 한 객체의 인터페이스를 구현하고 다른 객체를..
[JPA] Hibernate 내부 동작을 알고 계신가요?(save 안티패턴 고찰)
·
Programming/Spring,JPA
서론프로젝트 초기에는 JDBC Template을 사용해 데이터베이스와의 연동 작업을 진행했다. 하지만 객체지향적 언어로 도메인을 구성하며 프로그래밍을 하던 중, 객체와 데이터베이스 간의 연결 방법에 대한 고민이 생겼다. 객체지향 설계와 관계형 데이터베이스 사이의 패러다임 불일치로 인해 코드가 복잡해지는 문제를 겪었다.  이러한 문제를 해결하기 위해 ORM(Object-Relational Mapping) 기술인 JPA를 도입하게 되었고, 이를 통해 객체와 데이터베이스 간의 매핑을 더 자연스럽게 처리하고자 했다. JPA는 Java Persistence API의 약자로, 자바 ORM 기술에 대한 표준 API 명세를 의미한다. JPA는 여러 인터페이스로 구성되어 있으며, 이 인터페이스들을 구현한 대표적인 프레임..