假設我有一個使用Salat/Casbah/Mongo堆棧持久化的Scala案例類,我想設置預先持久性驗證邏輯,就像我可以輕鬆做到的在Rails中使用ActiveRecord鉤子或在Java中使用JSR 303 bean驗證。使用Salat/Casbah的Scala案例類的持續前驗證
或許有思考這個在功能模式更好的辦法,但我要完成像下面這樣:
case class SomeItem(
id: ObjectId = new ObjectId,
someProperty: String) {
@PrePersistence
def validate() = {
//perform some logic
//fail document save in certain conditions
}
}
我無法找到如何做這樣的事情的任何文件在薩拉特。我看到@Persist註釋,但它似乎專注於序列化特定值並且不創建掛鉤。
看起來像一個選項是重寫SalatDAO中的保存方法爲我的案例類。有沒有人有這樣的例子,或知道更好的,內置的方式來處理與預先持久性事件相關的驗證?
謝謝!
謝謝您的跟進。一旦我想到更多關於如何操作的問題,我會立即創建一個問題這個驗證行爲可以爲我工作,現在我繼承了SalatDAO,我的計劃是重寫一些持久化函數作爲解決方法。 – kgx