분류 전체보기

    TypeORM의 Listener

    TypeORM의 Listener

    엔티티 리스너(Listener)엔티티 리스너는 엔티티의 상태 변화와 관련된 이벤트를 감지하는 메서드를 포함한다. 이러한 메서드는 엔티티의 @Entity() 데코레이터로 정의된 클래스 내에서 구현할 수 있으며, 엔티티의 생명주기 이벤트가 발생할 때 자동으로 호출된다. 주요 이벤트@BeforeInsert(): 엔티티가 데이터베이스에 삽입되기 전에 호출@AfterInsert(): 엔티티가 데이터베이스에 삽입된 후 호출@BeforeUpdate(): 엔티티가 업데이트되기 전에 호출@AfterUpdate(): 엔티티가 업데이트된 후 호출@BeforeRemove(): 엔티티가 삭제되기 전에 호출@AfterRemove(): 엔티티가 삭제된 후 호출  리스너 메서드 정의 import { Entity, PrimaryGen..

    TypeORM의 데이터 접근 패턴 - Data Mapper, Active Record

    TypeORM의 데이터 접근 패턴 - Data Mapper, Active Record

    Data Mapper데이터 매퍼(Data Mapper) 패턴은 데이터베이스와 애플리케이션 객체 사이의 매핑을 분리하여, 데이터베이스 작업을 전담하는 별도의 레포지토리(Repository)나 매퍼 클래스를 사용한다. 이 패턴에서는 엔티티 클래스는 데이터베이스 작업을 직접 수행하지 않고, 매퍼가 데이터베이스와의 상호작용을 담당한다. import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';@Entity()export class User { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() age: number;}// Repository를 사용하여 데이터베이스 작..

    TypeORM 이란

    TypeORM 이란

    TypeORM (Object-Relational Mapper, ORM) TypeORM은 TypeScript 및 JavaScript 애플리케이션에서 사용할 수 있는 객체 관계 매퍼이다.TypeORM은 관계형 데이터베이스와의 상호작용을 쉽게 만들어 주며, 데이터베이스와 객체 지향 프로그래밍 사이의 불일치를 해소하는 데 도움을 준다.객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터를 매핑하고 관리하는 방법론이다.이를 통해 개발자는 SQL을 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있다.개발자가 RDMS와 상호작용할 수 있도록 객체 지향적으로 데이터를 접근한다.

    GraphQL 스키마에서 enum 타입을 정의할 때 사용, registerEnumType

    GraphQL 스키마에서 enum 타입을 정의할 때 사용, registerEnumType

    import { registerEnumType } from '@nestjs/graphql';enum UserRole { ADMIN = 'ADMIN', USER = 'USER', GUEST = 'GUEST',}registerEnumType(UserRole, { name: 'UserRole', // GraphQL 스키마에서의 이름 description: 'User roles in the system', // 선택적 설명}); registerEnumType은 GraphQL 스키마에서 enum 타입을 정의할 때 사용된다.이를 통해 GraphQL API에서 사용할 수 있는 열거형 타입을 등록하고 설명을 추가할 수 있다.이 예제에서 UserRole은 ADMIN, USER, GUEST 값을 가지는 열거형(e..