我正在从Scala 2.7.7切换到Scala 2.8.0RC3,现在我的一些类不再编译了。问题出在@PersistentCapable注释:
import javax.jdo.annotations._
import java.util.Date
@PersistenceCapable{identityType=IdentityType.APPLICATION}
class Counter(dt: Date, cName: String, vl: int) {
<.. snip ..>
}
此代码导致以下编译错误:
[ERROR] /Users/gero/prive/kiva/kivanotify-gae/src/main/scala/net/vermaas/kivanotify/model/LoanProcessed.scala:7: error: expected start of definition
[INFO] @PersistenceCapable{val identityType = IdentityType.APPLICATION}
我已经尝试了几种变体,做了一些谷歌搜索,但没有运气。 关于如何在Scala 2.8.0 RC3中使用@PersistentCapable注释的任何想法?
谢谢, 格罗
答案 0 :(得分:2)
2.8中的语法已经改变,你应该使用命名参数:
@Table(name = "projects")
class Project(name: String) {
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Int = _
}
答案 1 :(得分:1)
尝试@PersistenceCapable(identityType = IdentityType.APPLICATION)
注意()
,而不是{}
答案 2 :(得分:0)
没有找到能让我再次使用注释的解决方案,但当然你可以切换到将JDO元数据放入XML文件......这就是我所做的。宁愿使用注释,但至少我现在可以继续。
格罗