[英]eqs on Option[UUID] type? Phantom + Cassandra + Scala
我正在使用Phantom框架與Cassandra一起工作,並且嘗試在Option字段上執行等式。
Address.select.where(_.id eqs Some(uuid)).one()
然后我得到“值eqs不是對象的成員”
有辦法做到嗎? 我不知道...
id字段是一個Option [UUID],因為當我在Play Framework中收到POST請求時,該字段必須為null,但是我不知道該如何在幻像中斷言
我還在github上打開了一個問題。
使用
import com.websudos.phantom.Implicits._
作品!!!
Phantom依靠一系列隱式轉換來提供大多數功能。 解決從編譯幻影表中得到的大多數錯誤的一種非常簡單的方法是確保相關的導入在范圍內。
幻影之前1.7.0
import com.websudos.phantom.Implicits._
1.7.0之后
import com.websudos.phantom.dsl._
除了隱式機制之外,phantom還可以為您提供Cassandra中大量有用對象的別名:
在CQL中將可能為null
值用作PRIMARY KEY
一部分也是錯誤的,因為CQL PRIMARY KEY
任何部分都不能為null
。 將處理邏輯移到幻像之外是一個更好的主意。
傳統上,表->數據庫服務-> api控制器-> api方法是構建具有更好關注點分離的模塊化應用程序的方法。 最好在表級別上保持簡單的I / O,在數據庫服務級別上保持應用程序級別的一致性,並在更高級別上保持所有處理邏輯。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.