Backend/Spring

1. 프록시가 필요한 이유 엔티티를 조회할 때 연관관계를 맺고 있는 다른 엔티티도 같이 조회한다. 연관된 엔티티가 항상 필요하지 않을 수도 있기 때문에 불필요한 데이터 조회가 발생하게 된다. 그렇기에 실제 사용하는 시점에 데이터베이스를 조회할 수 있게 해야하는데 이 때 프록시를 사용하면 된다. 실제 사용될 때까지 DB 조회를 지연시킬 수 있도록 실제 엔티티 대신할 가짜 객체가 필요한데 이를 프록시 객체라고 한다. 2. 프록시 객체 JPA에서 식별자로 엔티티를 조회할 때 'EntityManager.find()'를 사용한다. 이 메소드는 영속성 컨텍스트 내 1차캐시에 엔티티가 없을 경우 DB 조회하여 저장하게 된다. 만약 엔티티를 실제 사용하는 시점까지 DB조회를 지연시키고 싶으면 EntityManger...
1.영속성 컨텍스트란? 먼저 엔티티(Entity)의 의미를 먼저 간단하게 알고 넘어가면 엔티티는 다음과 같다. '업무에 필요하고 유용한 정보를 저장, 관리하기 위한 개념'으로, 실체, 객체라는 의미이다. 예) 엔티티-직원 / 속성- 주소, 사번, 휴대전화번호 등등 영속성 컨텍스트(Persistence context)는 '엔티티를 영구히 저장하는 환경' 이라는 의미를 가집니다. 어플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 DB 같은 역할을 하게된다. 영속성 컨텍스트는 엔티티 매니저를 생성할 때 만들어지며 엔티티 매너저를 통해 접근 관리된다. 2. 엔티티 매니저란? 엔티티를 영속성 컨텍스트에 저장, 보관 등의 관리를 하는 역할을 한다. 엔티티 매니저에 엔티티를 저장하거나 조회하게 되면 엔티티 ..
1. JPA(Java Persistence API) 자바 진영의 ORM 기술 표준으로, 인터페이스 모음이다. 인터페이스이기에 구현체가 없고 사용하기 위해서는 ORM 프렘임워크를 선택해야 한다. (Hibernate, OpenJPA) 자바 진영의 ORM 기술 표준으로, 인터페이스 모음 JPA는 어플리케이션과 JDBC 사이에서 동작하는데 JPA 내부에서 JDBC API를 이용하여 DB와 통신을 하게 된다. JPA 특징 SQL 중심에서 객체 중심으로 개발하면서 패러다임의 불일치를 해결 생상성 & 유지보수에 뛰어남 DBMS에 종속적이지 않음 2. Spring Data JPA JPA를 더욱 편하게 사용하기 위해 만들어진 모듈이다. Spring Data JPA는 반복되는 CRUD 문제를 더욱 편리한 방법으로 해결할 ..
■ Ioc(Inversion of Control) 개념- 객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 개발 코드에서 컨테이너로 바뀌었다는 것을 의미- 인스턴스의 생명주기를 컨테이너가 한다. - 순제어 : 개발자가 A 객체 인제 B 객체인지를 Control 한다. (A객체를 사용하고 싶으면 new A 객체 생성) - 역제어 : 객체 생성의 주도권을 BeanFactory가 가져간다 -> Spring Framework에서 제공하는 모든 모듈들은 Spring Core 위에서 동작하는데 이 Spring Core가 바로 IoC 컨테이너 기능을 제공한다. ■ 결합도와 유지 보수성1. 결합도 - 소프트웨어 코드의 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지를 나타내는 말이다. - TVUs..
야뤼송
'Backend/Spring' 카테고리의 글 목록 (2 Page)