java和scala中的annotation,有一點是不太一樣的。
在java中我們可以這樣寫
public static final String USER_ID = "userId";
@Field(USER_ID)
private long userId;
但是在scala中如果這樣寫就會報錯:annotation argument needs to be a constant
如果我們換一下,寫一個object,把該常量放到object中,就像下面這樣
@Field(USER_ID)
object ScanningBookmark {
final val USER_ID:String = "userId"
final val STATUS_ID:String = "statusId"
}
但還是會報同樣的錯。通過查閱資料瞭解到,scala中的常量定義時時不能有類型的,所以作如下修改就可以編譯通過了。
@Field(USER_ID)
object ScanningBookmark {
final val USER_ID = "userId"
final val STATUS_ID = "statusId"
}