코드의
Object
와 DB의Data
를 일치시켜주는 도구
즉, 우리가 만든Object
에 맞춰서 SQL을 만들어줘, 동기화 하는것
장점
1. 선언, 할당, 종료같은 부수적인 코드가 없어진다
2. 각종 Object
에대한 코드를 별도로 작성할수있어, 코드의 가독성이 올라간다.
3. SQL에대한 접근방식이아닌, 객체 접근방식이다.
단점
1. 완벽한 DB서비스 구현이 어렵다.
2. 사용하기는 편리하지만, 설계가 어려워진다
3. 프로젝트의 복잡성과 난이도에 따라서 ORM제작에대한 효율성이 널뛰기한다
BE
에서SQL
을 쓰지 않고서도DB
와의 통신을 간편하게 해주는 라이브러리이다
비슷한 라이브러리로는sequelize
가 있다.
TypeScript
코드로 작동한다
Nest.js의 공식 Docs에 TypeORM과 통합을 위한 파트가 있다.
아직 Nest.js와 TypeScript에 대해서 자세하게 공부하지않아 더 깊은 이해가 필요할것 같지만
sql
을 사용하지 않고 TypeScript
만으로 구조와 컬럼을 정의하며, 유효성 검증또한 가능해 코드에만 집중이 가능할것같다.
참고한곳
TypeORM이란