🐤

Kotlin製O/Rマッパー『Exposed』でupsertする奮闘記

2022/12/11に公開

結論

  • 公式ではまだサポートしてないが工夫すればupsertできるらしい

FAQに書いてあった

https://github.com/JetBrains/Exposed/wiki/FAQ#q-is-upsert-supported

以下引用

Q: Is upsert supported?
A: Upsert is an instruction to the Database to insert a new row or update existing row based on a table key. It is not supported as part of the library but it is possible to implement on top of it. See this issue: https://github.com/JetBrains/Exposed/issues/167 and example here: https://medium.com/@OhadShai/first-steps-with-kotlin-exposed-cb361a9bf5ac

実際にやってみる

TODO:さっき調べて分かったことなので、今後実際にやってみる

所感

  • 色んなO/Rマッパーがあって便利だけど、全てのクエリをカバーできるわけではない。痒い所に手が届かない感がどうしてもある。
  • 素のSQLも自由に書ける(しかも簡単に導入可能で)という最終手段があるO/Rマッパーはやはり優秀
    • Exposedはその点どうなんだろう🤔誰か知ってたらコメントで教えてくださいmm

Discussion