いつもお世話になっております。
Play Framework 2.5.x とSlick 3.1.x を利用しております。
slickのTransactionの処理の書き方について教えて頂きたく質問させていただきました。
- seqリストを順番にSELECT
- 1の結果データが無ければ、INSERT、1のデータがあれば例外
Transactionの範囲としては、seqのリストの開始から終了もしくは、例外が発生するまでと考えております。
いろいろなサイトを参考にして、記述してみたのですが、コンパイルでエラーが発生していまい、
どうのように記載したらよいか検討がつきませんでした。
Slickの記述方法がまだ、理解できていないのは十分承知の上、
皆様のお力を貸していただけないでしょうか。
大変、お手数をおかけしますが、記載方法をご教示いただけないでしょうか?
Scala
1 // Example 2 val insertIfNotExists = newUsers.map(m => { 3 userTable.filter(f => f.id === m.id && f.sex === m.sex).exists.result.flatMap { 4 case true => DBIO.successful(false) 5 case false => (userTable += m).andThen(DBIO.successful(true)) 6 } 7 }).head.transactionally
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。