Database/TypeORM

    TypeORM에서 제공하는 특별한 데코레이터 , 엔티티의 생성 및 수정 일자를 자동으로 관리

    TypeORM에서 제공하는 특별한 데코레이터 , 엔티티의 생성 및 수정 일자를 자동으로 관리

    @CreateDateColumn과 @UpdateDateColumn은 TypeORM에서 제공하는 특별한 데코레이터로, 엔티티의 생성 및 수정 일자를 자동으로 관리하는 데 사용된다. 이 데코레이터들은 엔티티의 날짜 및 시간 정보를 자동으로 업데이트하며, 데이터베이스의 각 레코드에 대한 타임스탬프를 추적하는 데 유용하다. import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';@Entity()export class User { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() age: number;..

    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와 상호작용할 수 있도록 객체 지향적으로 데이터를 접근한다.