DataBase(21)
-
QueryDSL 엔티티 변경 시 빌드 오류 해결 방법
QueryDSL 엔티티 변경 시 빌드 오류 해결 방법🚀 들어가며QueryDSL을 활용해 쿼리를 작성할 때, 엔티티의 필드(테이블 변수)를 수정하면 기존의 QClass에서 해당 필드를 찾지 못해 빌드가 실패하는 문제가 발생할 수 있다.이 문제를 해결하려면 변경된 엔티티 필드를 반영한 QClass를 새로 생성해야 하지만, 빌드 과정에서 기존 QClass가 남아 있어 오류가 발생하는 경우가 많다.기존 방식대로라면, 해당 쿼리들을 주석 처리 → 빌드 진행 → QClass 갱신 → 주석 해제 후 수정이라는 번거로운 과정이 필요하다. 하지만, 이를 자동화하면 불필요한 수작업을 줄이고 더 효율적으로 개발할 수 있다.이번 글에서는 Gradle 설정을 통해 QClass를 자동으로 갱신하는 방법을 정리해보았다.✅ 1. ..
2025.03.01 -
[JPA]@Transactional이란
1. 서론프로젝트를 진행하고 코드를 작성할 때 DB를 사용하게 된다면 Spring Data JPA를 사용하게 된다. 그리고 이때 해당 JPA는 Java에서의 ORM의 표준으로 사용이 되며, Spring 프레임워크에서는 Spring Data JPA로 하여 사용을 하게 된다. 해당 JPA를 사용하면서 같이 등장하는 것이 바로 @Transactional 이다.해당 어노테이션은 트랜잭션 관리를 간편, 용이하게 해주는 어노테이션이다. 이를 통해 해당 백엔드 서버와 데이터베이스 간의 작업이 하나의 단위로 실행하도록 보장하는 역할이다. 그렇기에 지금까지는 이러한 논리적 하나의 단위(원자성)을 위해 항상 해당 트랜잭션을 기입해주었다.하지만 이번에 기능을 구현한 후 성능 개선을 위해 리팩토링 및 학습을 하던 도중 무분별..
2024.09.24 -
[ETC] Fetch 옵션
[ETC] Fetch 옵션 오래간만에 Querydsl을 통해 작업을 하면서 fetch 옵션들에 대해 정리가 필요한 것 같아서 학습 겸 작성하게 되었다. fetchOne() 단일결과, 하나의 레코드만 가져올 때 사용하는 메서드 결과가 하나인 경우 가장 직관적이고 간단한 방법 결괏값이 없거나 여러 개인 경우, 'NonUniqueResultException'이 발생할 수 있다. fetchFirst(() 첫 번째 결과를 가져올 때 사용하는 메서드 limit(1)과 유사한 역할 여러 개의 결괏값이 나올 때 그중 첫 번째 결괏값만 출력 첫 번째 결과가 필요할 때 유용 결과가 없는 경우 null 반환, 반드시 결과가 있다는 확신이 있을 때 사용하는 것이 좋음 fetchResult() 결과 목록과 전체 결과 수를 함께..
2023.08.28 -
[DataBase] CLOB / BLOB
데이터 타입 데이터베이스에서 사용되는 데이터 타입 각각 문자열과 이진 데이터를 저장하는데 사용 CLOB 문자열을 저장하는데 사용 텍스트 파일이나 문서 등의 데이터를 저장할 때 사용 장점 텍스트, 문서등의 문자열 데이터 저장 가능 단점 대용량의 문자열을 저장할 때 성능 저하 유발 가능성 존재 BLOB 이진 데이터를 저장하는데 사용 BLOB → 바이너리 값 변환 : 변환된 데이터는 최대 1GB를 넘을 수 없음 바이너리 → BLOB 변환 : 변환 데이터는 BLOB 저장소에서 제공하는 최대 파일 크기를 넘을 수 없음 이미지나 동영상 등의 바이너리 데이터를 저장할 때 사용 장점 이미지나 동영상 등의 바이너리 데이터 저장 단점 대용량의 바이너니 데이터를 저장할 때 성능 저하 유발 가능성 존재
2023.07.10 -
[DataBase] RDB와 객체 지향적 특징의 차이
차이점 데이터 표현 방식 RDB 데이터를 분리하고 관계로 연결 정형화된 쿼리 언어 사용 객체 지향적 데이터와 행위를 하나의 객체로 묶음 메시지 전달을 사용 데이터 관리 방식 해당 차이점을 매꾸기 위해 ORM ( Object - Relational Mapping )을 사용
2023.07.10 -
[DataBase System] ch11 - 객체 데이터베이스
[DataBase System] ch11 - 객체 데이터베이스 책정보, 데이터베이스 시스템 : 네이버 책 (naver.com) 데이타베이스 시스템 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 문제풀이 1 ) 기존의 상용 데이터베이스 시스템이 지원하기에 적당하지 않은 새로운 응용과 이 응용들의 요구 사항들을 설명하여 보라. - 새로운 응용 컴퓨터 이용 설계(CAD - Computer aided design) CAD DB는 설계 중인 아이템의 구성요소(Component), 구성요소 간의 상호관계, 버전 관리 등을 포함하는 공학 설계에 관한 데이터 저장 컴퓨터 이용 소프트웨어 공학 (CASE - Computer aided software engineerin..
2023.05.19