Web_Backend/DB2024. 5. 15. 20:24[멘토링] 특정 entity에 1:1 관계로 여러 개의 entity가 묶여있는 상황에서 특정 entity를 포함한 연계 entity들을 통합 조회하는 경우, 연계 entity의 값이 없는 경우에 대한 처리방법

해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1.  특정 entity에 1:1 관계로 여러 개의 entity가 묶여있는 상황에서 특정 entity를 포함한 연계 entity들을 통합 조회하는 경우, 연계 entity의 값이 없는 경우에 대한 처리방법을 고민하고 있습니다.특정 entity에 여러개의 entity가 1:1관계로 묶여있습니다. 특정 entity에 1:1 관계로 여러 개의 entity가 묶여있기 때문에 entitygrapth를 이용해 일시에 값을 받아오고자 합니다. 하지만 연계되는 entity가 실제로 존재할지 아닐지는 알 수 없으며, 연계되는 entity값이 아직 생성되지 않았을 수 있습니다. 이러한 상황에서 현재 떠올린 방법은 두가지가..

Web_Backend/Spring2024. 1. 25. 15:38[Spring] Spring Boot / Spring / Spring MVC, @Primary / @Qualifier, @Component / @Bean, Prototype / Singleton, @PostConstruct @PreDestroy, JDBC, Hibernate, JPA, Spring Data JPA

Spring Boot vs Spring vs Spring MVCSpring개요:자바 기반의 프레임워크로, 기업 환경에서 대규모 응용 프로그램을 개발하기 위한 종합적인 솔루션을 제공한다.모듈화, DI (의존성 주입), AOP (관점 지향 프로그래밍) 등을 지원하여 유연하고 확장 가능한 애플리케이션을 만들 수 있다.Spring Framework 구성요소:Core Container: IoC 컨테이너, 빈 팩토리 등이 포함되어 있으며, DI를 지원한다.Data Access/Integration: JDBC, ORM 등 데이터 액세스 및 통합을 위한 모듈 제공.Web: 웹 애플리케이션 개발을 위한 모듈로 Spring MVC 포함.AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍을 ..

[troubleShooting, Spring] Internal error - Type definition error(Response Getter, JPA, Fetch Lazy Loding, Entity to DTO 반환중 Type Error)
Project/(공통)troubleshooting2023. 8. 18. 17:22[troubleShooting, Spring] Internal error - Type definition error(Response Getter, JPA, Fetch Lazy Loding, Entity to DTO 반환중 Type Error)

💡 JPA Lazy Loding관련 오류인줄 알았으나, Dto 적용시 Response에 @Getter를 생성해주지 않아 발생한 문제였다. 에러코드 "Internal error - Type definition error: [simple type, class wanted.preonboarding.backend.post.dto.PostResponse] \n cause : com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class wanted.preonboarding.backend.post.dto.PostResponse and no properties discovered to create BeanSeria..

[playground] spring boot 멀티모듈 프로젝트 시작하기
Project/playground(java-spring,멀티모듈)2023. 6. 25. 21:35[playground] spring boot 멀티모듈 프로젝트 시작하기

백엔드 개발자로 취업을 준비하며, 국비교육 이후 몇 개의 프로젝트들을 진행해 왔지만 "매력 있는 신입 개발자"가 되기에는 모자람을 느꼈다. 이에 백엔드 개발자 커뮤니티와 각종 커피챗에 참여해 현직 미들, 시니어급 개발자분과 이야기를 나눈 후 Spring Framework의 Security와 Oauth2, JPA, Batch 등 실무에서 기본적으로 다룰 기능들이 포함되며 Testcode와 api 명세 자동화에 대한 나만의 고민이 담긴 프로젝트를 취업 준비와 병행하기로 결정해서 진행 중이다. 이미 시작한 지는 조금 되었지만 기존 프로젝트들과 다르게 하나하나 많은 고민들이 담긴 프로젝트이기에 작은 고민까지 하나하나 기록에 남기고 싶어 블로그 연재를 시작한다. 우선, 아키텍처는 멀티모듈 아키텍처를 선정해서 진행..

[Spring, JPA] JPA Persistence Context
Web_Backend/Spring2023. 5. 28. 14:05[Spring, JPA] JPA Persistence Context

JPA Persistence Context과 제공하는 기능 영속성이란? 📌 사전 : 영원히 계속되는 성질이나 능력 dev : 애플리케이션의 상태와 상관없도록 물리적인 저장소를 이용해 데이터를 저장하는 행위. Persistence Context란? 📌 영속성 컨텍스트(Persistence Context)는 영속화되어있는 entity identity에 대해 unique 한 entity 인스턴스가 존재하는 entity 인스턴스의 집합. 즉, entity의 영속화에 관여하며, entity들이 DB로 바로 가지 않고 entity를 저장하는 환경으로서의 역할을 함. 아래와 같은 방법으로 영속성 컨텍스트에 접근 가능 EntityManager.persist(entity); 영속성 컨텍스트 특징 식별자 값(id)이 있어..

Web_Backend/DB2023. 5. 26. 14:34[DB] ORM(Oject-Relational-Mapping) Framework 이란?

ORM(Oject-Relational-Mapping) Framework 💬 ORM(Oject-Relational-Mapping) Framework란 무엇인가요? 더보기 ✅ 추상화와 상속 다형성의 특징을 지닌 객체지향과, 데이터 중심구조인 RDB사이에서 발생하는 패러다임의 불일치 문제를 해결하기 위해 개발된 프레임워크로, SQL문이 아닌 메서드로 데이터를 조작합니다. SQL Mapper가 코드상으로는 JDBC API와 SQL을 구분 지었다 하더라도, 논리적으로 강한 의존성이 지속되고 있었습니다. 각각의 DB마다 쿼리문이 다를 경우, 개발자가 각 DB의 쿼리문을 사용할 줄 알아야만 DB를 사용할 수 있는 점을 예로 들 수 있습니다.. ORM Framework란? 📌 객체-관계 매핑. 사물을 추상화시켜 이해하..

image