JPQL

JPQL은 객체지향 쿼리 언어이다. 따라서 테이블을 대상으로 쿼리 하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다.JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다.JPQL은 결국 SQL로 변환된다select m from Member as m

2일 전
·
0개의 댓글
·
post-thumbnail

값 타입 컬렉션

값 타입을 하나 이상 저장할 때 사용@ElementCollection, @CollectionTable 사용데이터베이스는 컬렉션을 같은 테이블에 저장할 수 없다컬렉션을 저장하기 위한 별도의 테이블이 필요하다참고 : 값 타입 컬렉션은 영속성 전이(Cascade) + 고아

2023년 9월 19일
·
0개의 댓글
·

CASCADE 영속성 전이 & 고아 객체

특정 엔티티를 영속 상태로 만들 때, 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때예 : 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장영속성 전이는 연관관계를 매핑하는 것과 아무 관련이 없다!!!!엔티티를 영속화할 때 연관된 엔티티도 함께 영속화하는 편리함을 제

2023년 9월 14일
·
0개의 댓글
·
post-thumbnail

JPA 프록시

em.find() vs em.getReference()em.find() : 데이터 베이스를 통해서 실제 엔티티 객체 조회em.getReference() : 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회실제클래스를 상속 받아서 만들어짐실제 클래스와 겉 모양이

2023년 9월 13일
·
0개의 댓글
·
post-thumbnail

상속관계 매핑

관계형 데이터 베이스는 상속 관계가 존재하지 않는다.슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사하다상속관계 매핑 : 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑테이블 정규화외래 키 참조 무결성 제약조건 활용가능저장공간 효율화조회 시 조인을

2023년 9월 11일
·
0개의 댓글
·

DB 정규화란?

개체 무결성 : 모든 테이블은 기본키를 가져야 하며, 기본키를 구성하는 속성으로 Null과 Unique Key가 있다. 각각 Null 값이나 중복된 값을 가질 수 없다.참조 무결성 : 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되어야 한다. 외

2023년 9월 10일
·
0개의 댓글
·

연관관계 매핑

중요!!! 연관관계의 주인은 1:N 에서 N에 mappedBy를 걸어준다 @OnetoMany 애노테이션이 존재하는쪽에 걸어준다. 진짜 mapping은 Member에 선언된 Team 읽기전용으로 Team에 List Team으로 선언되어 있다. 주의사항 ![](ht

2023년 9월 5일
·
0개의 댓글
·

Operator

(리턴 타입) operator(연산자) (연산자가 받는 인자)operator를 이용할 때, 연산자 오버로딩을 하게 된다면 모든 연산자들에 대해 개별적인 정의가 필요하다.

2023년 7월 30일
·
0개의 댓글
·

Explicit, Mutable

업무에서 c++을 이용하게 되었다!.... 기억이 나질 않는데.. 다시 공부를 하려니 모르는게 계속 나오고 있다.c++에서 Explicit 키워드가 존재한다(implicit은 default) 컴파일러는 기본적으로 함수에 적용될 때, 최적의 실행가능한 조건? 을 찾아서

2023년 7월 30일
·
1개의 댓글
·

NestJS ValidationPipe

위의 명령을 통해서 class-validator, class-transformer를 설치한다 이를 통해서 매우 편리한 기능을 이용할 수 있다ValidationPipe 기능을 통해서 whitelist : @IsString()과 같은 데코레이터가 설정된 값에 다른 값이 들

2023년 6월 14일
·
0개의 댓글
·
post-thumbnail

Selenium 자동화 연습

업무 중에 웹에서 자동화를 이용할 일이 생겼다!... 웹에서 자동화를 하기 위해서 검색해보니 Selenium을 이용하는 것이 대부분이라 Selenium을 이용하고자 했다.Python을 이용하기로 해서 Python은 이미 설치되어 있기 때문에 패스 Selenium을 설치

2023년 6월 11일
·
0개의 댓글
·
post-thumbnail

GRPC, DDD

장점:javascript에서 많은 오버헤드를 발생시키는 json의 직렬화 및 역직렬화를 수행하지 않으며, 이진데이터를 통해서 데이터를 송수신 하기 때문에, 성능이 api통신에 비해서 뛰어나다.메세지 유형 정의 : protocol buffers를 사용하여 메시지 유형을

2023년 6월 4일
·
0개의 댓글
·

Pub/Sub 과 producer/consumer

Pub/Sub 구조에서는 Subscriber들이 publisher가 발행한 모든 데이터를 처리하면, 중복으로 같은 데이터를 처리할 가능성이 생긴다....중복 처리가 필요할 것 같다. Producer/Consumer 구조에서도 찾아본 바, Consumer가 브로커에 적재

2023년 6월 4일
·
0개의 댓글
·

JavaScript 비동기

프로미스는 비동기 작업의 결과를 나타내는 객체이다. 세 가지 상태(Fulfilled, rejected, pending) 상태를 가지고 있으며, 이러한 상태 변화에 따라 콜백 함수들이 실행된다.'.then()'과 '.catch()'메서드를 사용하여 Promise의 결과나

2023년 5월 28일
·
0개의 댓글
·

GRPC

장점:javascript에서 많은 오버헤드를 발생시키는 json의 직렬화 및 역직렬화를 수행하지 않으며, 이진데이터를 통해서 데이터를 송수신 하기 때문에, 성능이 api통신에 비해서 뛰어나다.메세지 유형 정의 : protocol buffers를 사용하여 메시지 유형을

2023년 5월 27일
·
0개의 댓글
·

Active Record 패턴

Active Record패턴은 소프트웨어 개발에서 데이터 베이스 레코드와 객체를 1:1로 매핑하는 패턴이다. 이 패턴은 데이터베이스 테이블의 각 레코드가 객체로 표현되며, 객체는 데이터베이스와 상호 작용하는 CRUD(Create, Read, Update, Delete)

2023년 5월 21일
·
0개의 댓글
·

Data Mapper

Data Mapper는 소프트웨어 개발에서 객체와 데이터베이스 간의 매핑을 담당하는 패턴이다. 이 패턴은 도메인 객체와 데이터베이스 간의 결합도를 낮추고, 데이터베이스 스키마의 변경에도 도메인 객체에 영향을 주지 않도록 한다. Data Mapper는 도메인 객체의 상태

2023년 5월 21일
·
0개의 댓글
·

Mysql Foreign key

외래키는 두 테이블을 서로 연결하는 데 사용되는 키이다.외래키가 포함된 테이블을 자식 테이블이라 하고 외래키 값을 제공하는 테이블을 부모 테이블이라한다.외래키 값은 NULL이거나 부모 테이블의 기본키 값과 동일해야 한다. (참조 무결성 제약조건)부모 테이블의 기본키,

2023년 5월 20일
·
0개의 댓글
·
post-thumbnail

DDD(Domain Driven Design) 도메인 주도 설계

소프트웨어로 해결하고자 하는 문제영역소프트웨어를 사용하는 사용자의 활동이나 관심사와 관련되어 있다.소프트웨어 산업은 다른 산업 내에서 발생하는 다양한 비즈니스 문제를 해결한다ex) 쇼핑몰을 구축할 때, 도메인은 전자상거래이다소프트웨어는 사람의 욕망과 욕구를 해결하려고

2023년 5월 17일
·
0개의 댓글
·

MySQL8.0 5장 잠금과 트랜잭션

최근 노션으로만 정리를하다 보니 velog 이용을 하지 않게 됐다..오랜만에 velog를 통해서 정리하고자 한다.MySQL 스터디를 진행하면서 DB에 대해 공부하면서 재밌게 배워가고 있다. 이번에는 DB 인덱스에 대해 스터디하기로 했는데, 기대가 된다!...일단 이전에

2023년 5월 13일
·
0개의 댓글
·