2015-11-05 54 views
1

我正在开发一个使用datastax驱动程序与Cassandra交互的应用程序。
模型配置使用@Table注释完成。
我在配置文件中定义了用于测试/开发/ qa /生产的不同keySpaces。
我试图使用注释如下:Scala - 从配置文件分配注释值

@Table(密钥空间= CassandraConfiguration.keySpace,NAME = “someName”)

当CassandraConfiguration是具有以下声明的对象:
最终VAL KEYSPACE = ConfigFactory.load()的getString( “dbConnection.keySpace”)

我得到下面的编译错误:
注解说法需要是一个常数;找到..CandandraConfiguration.keySpace

如何设置值取决于我所在的环境?

回答

1

我发现了一个解决方案,足以应对我的场景:
在我的模型扩展包含密钥空间的特征中声明隐式值已解决该问题。
隐式val keySpace = KeySpace(config.getString(“dbConnection.keySpace”))