Play Framework 2 - 多数据库配置中的枚举问题

时间:2012-12-08 00:18:15

标签: playframework playframework-2.0 multiple-databases ebean

我遇到了一些奇怪的问题,试图配置对两个oracle数据库的访问。这是我的配置文件的样子:

db.default.url="jdbc:oracle:thin:@db1:1521:DB1"
db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.user=username1
db.default.password=password1

db.db2.url="jdbc:oracle:thin:@db2:1521:DB2"
db.db2.driver=oracle.jdbc.driver.OracleDriver
db.db2.user=username2
db.db2.password=password2

ebean.default="model.db.Class1,model.db.Class2"
ebean.db2="model.db2.Class3,model.db2.Class4"

Class1声明了一个用于其中一个类属性的枚举。

在应用程序启动时的运行时,我得到一个例外:

play.api.UnexpectedException: Unexpected exception [NoClassDefFoundError: models/db Class1$myEnum] at lay.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anonfun$1.apply(ApplicationProvider.scala:134) ~[play_2.9.1.jar:2.0.4]

...

当在配置文件中单独列出类时,看起来Ebean无法找到我的枚举声明。如果我从application.conf中删除第二个数据库的配置,并用“models。*”替换ebean.default的定义,那么一切正常。

非常感谢任何帮助。

维拉德。

1 个答案:

答案 0 :(得分:1)

据我所知,您必须将模型类放入单独的包中,不能引用单个类。

所以在你的情况下,它将是:

ebean.default="model.db.*"
ebean.db2="model.db2.*"