2013-12-23 73 views
0

我有一個構造函數的參數是這樣一類:Squeryl不檢測註釋VAL構造器參數的瞬態

@Transient val applicationType: Option[String] = None, 

然而,Squeryl不會注意到@Transient標註,並仍試圖讀取值數據庫中的這個字段。但數據庫中沒有這樣的字段。

我的調查至今已經表明,我懷疑,Squeryl只着眼於方法和字段註釋,而註釋只能通過構造函數的參數Scala編譯器放置(我能看到這一點的javap) 。

那麼我該如何解決這個問題?

該類不是案例類,因爲我擴展了一個案例類,而案例類不應該擴展其他案例類。

回答

2

你也可以告訴scalac你想要的註釋出現在球場上。正確的語法請參見this answer

0

只要改變構造函數的參數,以一個普通的一個:

_applicationType: Option[String] = None, 

,並介紹val分別

@Transient val applicationType = _applicationType 
+0

'@ transient'必須小寫。 – Florian