はじめに
コジマです。
TypeORMでdirty_readするクエリの書き方を覚書でまとめました。
SQL Serverの使用を想定しています。
MySQLなどを使用している場合、後述するmanager.queryの書き方は変わってくるかもしれません。
findを使用している場合
testRepository.find({ mode: "dirty_read" });
queryBuilderを使用している場合
const result= await getRepository(Test) .createQueryBuilder("test") .setLock("dirty_read") .getMany();
query関数を使用している場合
生クエリを書くので、基本的な書き方は普通のSQLに同じです。
const result= await manager.query(`SELECT * FROM test WITH(NOLOCK);`);
さいごに
参考サイトは以下
https://orkhan.gitbook.io/typeorm/docs/find-options
https://github.com/typeorm/typeorm/blob/master/docs/select-query-builder.md
TypeORMは勝手にいい感じのクエリを作ってくれるので、ちゃんと使い方わかってあげなあかんって感じです。
この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!
システムエンジニアのつらい部分のあるあるなんかをエンタメにしたチャンネルを作りました。
チャンネルはこちら
つらい部分も楽しくなればと思っているのでよかったらチャンネル登録や高評価してくれたらうれしいです。
以上、コジマでした。