https://typeorm.io/#/select-query-builder/how-to-create-and-use-a-querybuilder
There are several ways how you can create a Query Builder:
Using connection:
import {getConnection} from "typeorm";
const user = await getConnection()
.createQueryBuilder()
.select("user")
.from(User, "user")
.where("user.id = :id", { id: 1 })
.getOne();
Using entity manager:
import {getManager} from "typeorm";
const user = await getManager()
.createQueryBuilder(User, "user")
.where("user.id = :id", { id: 1 })
.getOne();
Using repository:
import {getRepository} from "typeorm";
const user = await getRepository(User)
.createQueryBuilder("user")
.where("user.id = :id", { id: 1 })
.getOne();
The documentation never explains the difference among these methods. When to use each method?