profile
기록만이 살 길💻 새 블로그 주소 - https://lsj8367.github.io
post-thumbnail

[JPA] 객체 지향 쿼리 심화

한번에 여러 데이터를 수정할 수 있는 벌크 연산이 있다.엔티티를 수정하려면 영속성 컨텍스트 변경 감지 기능이나 병합을 사용하고, 삭제하려면 em.remove() 를 사용한다. 데이터를 하나씩 처리하기엔 너무 오래걸려서 여러개를 동시에 처리할 수 있는 벌크연산이 있다.벌

2021년 8월 1일
·
0개의 댓글

[JPA] 객체 지향 쿼리 언어 - 네이티브 SQL

JPQL은 표준 SQL이 지원하는 대부분의 문법과 SQL함수를 지원한다.근데 특정 DB의 방언과 같은 종속적 기능은 지원하지 않는다.특정 DB만 지원하는 함수, 문법, SQL 쿼리 힌트인라인 뷰(from절 서브쿼리), UNION, INTERSECT스토어드 프로시저종속적

2021년 8월 1일
·
0개의 댓글
post-thumbnail

[JPA] 객체 지향 쿼리 언어 - QueryDSL(2)

이번 포스팅에서는 조인에 대해 알아볼 것이다.조인은 innerJoin(join), leftJoin, rightJoin, fullJoin을 사용할 수 있고 추가로 JPQL의 on과 성능 최적화를 위한 fetchJoin을 사용할 수 있다.연관관계가 있으면 그냥 join만

2021년 7월 31일
·
0개의 댓글
post-thumbnail

[JPA] 객체 지향 쿼리 언어 - QueryDSL(1)

QueryDSL Criteria의 단점 너무 복잡하고 어렵다는 것 그래서 JPQL이 어떻게 생성되는지 파악이 어렵다. 그래서 나온게 이 QueryDSL이다.. 코드로 작성하는데 간결하고 알아보기 쉽다. QueryDSL은 오픈소스 프로젝트이다. 단순 CRUD보다는 이름

2021년 7월 31일
·
0개의 댓글

[Spring] Spring ➡️ SpringBoot 마이그레이션

내 팀 프로젝트를 예전에 Spring으로 구현을 했었는데 이것을 스프링부트로 마이그레이션 해보았다. 더불어 Maven 의존성을 Gradle로 바꾸면서 마이그레이션을 한 것이다.오류들이 상당히 많았지만 남들과 같은 오류인지는 잘 모르겠다.🤣어떤 오류들이 있었는지 알아

2021년 7월 28일
·
0개의 댓글
post-thumbnail

[CI/CD] 자동화 배포 이슈 해결

자동화 배포시에문제가 발생했을때 해결하는 방법을 포스팅 하려고 한다.이것때문에 애를 좀 먹었는데 해결한 방법은기존에 있던 8080 포트의 서버가 죽지 않아서 발생한 것이다.그래서 포트를 바꿔서 서버를 구동시키거나 기존의 8080포트에 연결된 서버를 죽여야 다음 배포하는

2021년 7월 27일
·
0개의 댓글
post-thumbnail

[데이터베이스] - 옵티마이저

옵티마이저란, SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리 경로를 생성해주는 데이터베이스의 핵심엔진이다.여기서 사용한 DB는 MariaDB이다.Parser : SQL 문장의 각 요소를 파싱해서 파싱트리를 만듦(문법 검사, 구문 분석)Query Tran

2021년 7월 27일
·
0개의 댓글

[JPA] 객체 지향 쿼리 언어 - 3

책의 내용이 너무많아 계속 분리해서 작성하게 된다.이번 포스팅에서는 서브 쿼리부터 내용을 다뤄보도록 하겠다.JPQL도 SQL처럼 서브 쿼리를 지원하는데, 여기서는 몇 가지 제약사항이 있다.서브 쿼리를 WHERE, Having 절에서만 사용할 수 있고 select, fr

2021년 7월 25일
·
0개의 댓글

[JPA] 객체 지향 쿼리 언어 - 2

JPQL 다시한번 JPQL의 특징을 정리해보자 JPQL은 객체지향 쿼리 언어이다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. JPQL은 SQL을 추상화해서 특정 DB SQL에 의존하지 않는다. JPQL은 결국 SQL로 변환된다.

2021년 7월 25일
·
0개의 댓글

[JPA] 객체 지향 쿼리 언어 - 1

JPA는 복잡한 검색 조건을 사용해서 엔티티 객체를 조회할 수 있는 다양한 쿼리기술을 지원한다. JPQL은 가장 중요한 객체지향 쿼리 언어이다. 다른 Criteria나 QueryDSL은 JPQL을 편리하게 사용하도록 도와주는 기술이므로 JPA를 다루는 개발자라면 JP

2021년 7월 23일
·
0개의 댓글

[Java] Effective Java 핵심 요약 및 정리 1

이펙티브 자바를 읽으면서 내 기술을 확장하고 싶었다. 그래서 부족한 부분은 채우고 앞으로의 개발에 적용해보려고 한다. 1. 객체의 생성과 파괴 생성자 대신 정적 팩토리 메서드를 고려하라 클래스는 클라이언트에 public 생성자 대신 정적 팩토리 메서드를 제공할 수 있

2021년 7월 22일
·
0개의 댓글

TDD, 클린코드 with Java 12기 - 1주차

넥스트스텝에서 주최한 TDD, 클린코드 with Java 12기를 신청하게 되었다. 개인적으로 테스트 주도로 개발하는 것을 너무 지향했고 혼자 공부하면서 지식을 습득했었는데 이런 좋은 강의를 통해서 기존에 스터디원들과도 같이 성장할 수 있는 계기가 또 한가지가 생기게

2021년 7월 22일
·
0개의 댓글

[Java] 생성자에 관한 고찰

private 생성자는 정적 메소드와 속성(static method, property)만 있는 경우 사용함protected 생성자는 추상클래스에서 사용을 권고함. 추상 클래스를 상속받는 파생클래스에서 파생 클래스 생성자가 부모 클래스 즉, 추상 클래스를 초기화 하기 위

2021년 7월 20일
·
0개의 댓글

[JPA] 값 타입

JPA의 데이터 타입을 크게 분류하면 엔티티 타입과 값 타입으로 나눈다. 엔티티 타입은 @Entity로 정의하는 객체이고, 값 타입은 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. 값 타입은 3가지로 나눌 수 있다

2021년 7월 16일
·
0개의 댓글
post-thumbnail

[Docker] SpringBoot + Docker

이제는 도커로 스프링부트 프로젝트를 배포해보려고 한다.stfp로 FileZila를 통해서 옮긴뒤에 배포하려고 했지만 이렇게 하면 바이너리 모드로 파일을 전송하지 않으면 형식이 깨져서 배포가 되지 않는다.그래서 그냥 만드는겸 ubuntu에 IDE를 설치하여 SpringB

2021년 7월 15일
·
0개의 댓글
post-thumbnail

[Docker] 도커 명령어

Docker는 OS의 자원을 이용하기 때문에 기본적으로 Root 사용자에서 명령어를 사용해야 한다.

2021년 7월 14일
·
0개의 댓글
post-thumbnail

[Docker] 도커란?

컨테이너 기술을 지원하는 다양한 프로젝트중 하나컨테이너 기술의 사실상 표준다양한 운영체제에서 사용이 가능하다.(Linux, Mac OS, Windows)애플리케이션에 국한되지 않고 의존성 및 파일 시스템까지 패키징하여 빌드, 배포, 실행을 단순화Linux의 NameSp

2021년 7월 14일
·
0개의 댓글
post-thumbnail

[JPA] 프록시

객체는 객체 그래프로 연관된 객체들을 탐색.그렇지만 객체가 DB에 저장되어 있으므로 연관된 객체를 마음껏 탐색하기는 어렵다.JPA구현체들은 이것을 해결하기 위해 프록시라는 기술을 사용한다. 프록시를 사용하면 연관된 객체를 처음부터 DB에서 조회하는 것이 아니라, 실제

2021년 7월 11일
·
0개의 댓글

[Linux] 시간변경

서버 하나를 구축하면 항상 시간이 UTC로 설정되어 매번 바꿔주어야 하는 번거로움을 피하기 위해 이 포스팅을 쓴다.이렇게 하면 KST시간으로 변경된것을 확인할 수 있다.

2021년 7월 9일
·
0개의 댓글

API 문서 웹에 만들기

실무에서 API를 만들다가 엑셀로 API문서를 정리하는게 귀찮았으며 로컬에서 바로 확인 할 수 있게 만들기 위해 Swagger 를 사용해 보았다.request를 주면 response 받는 형식을 알아보기 쉽게 만들어져 있어서 만족하며 사용했다.xml 의존성 추가grad

2021년 7월 8일
·
0개의 댓글