0

私の前の質問へのフォローアップの質問のようなもの: squeryl日付から長い変換

そのスレッドで述べられているように、DateTime(model)からLong(DB)への変換を実装しました。
有効期限のあるすべてのレコードを削除する簡単なクエリを作成しました。

println("deleting expired")
val now: DateTime = new DateTime()
inTransaction {
  MyDB.loginTokens.deleteWhere(t =>
    t.expires lt now.getMillis
  )
}
println("finished deleting")

しかし、クエリはそこでハングし、何も実行せず、エラーはスローされません...「deletingexpired」が出力されるだけで、「finish」は表示されません。
また、「t.expiresltnow」やその他のバリエーションも試しましたが成功しませんでした。

これを引き起こしている原因とそれを修正する方法はありますか?

ltを。〜<に変更する場合の編集、ltを===に変更する場合でも、クエリはnowとnow.getMillisの両方で正常に機能するという問題があります。

4

1 に答える 1

0

t.expires.~ lt now

ドットチルダに注意してください。
=== が機能するように、「lt」自体が機能しない理由がわかりません。
多分それは何か他のものの同義語です...

于 2013-02-17T20:16:50.620 に答える