で定数として使用されてからのvalを防止:これが唯一の種なしで動作する理由ヴァルへの明示的な型を追加すると、REPLから注釈
scala> final val x = "x"
x: java.lang.String("x") = x
scala> @javax.persistence.Table(name = x) case class foo()
defined class foo
scala> final val x:java.lang.String = "x"
x: java.lang.String = x
scala> @javax.persistence.Table(name = x) case class foo()
<console>:6: error: annotation argument needs to be a constant; found: x
@javax.persistence.Table(name = x) case class foo()
誰かが説明できますか?
なぜ「最終」というキーワードを使用していますか? – paradigmatic
ダニエルが以下に言及するリテラル定数を作成するにはfinalが必要です。それがなければ、上記の同じエラーが発生します。 – scalapeno