1

我在尝试配置对两个 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 中删除第二个数据库的配置并将 ebean.default 的定义替换为“models.*”,一切正常。

任何帮助将不胜感激。

弗拉德。

4

1 回答 1

1

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

因此,在您的情况下,它将是:

ebean.default="model.db.*"
ebean.db2="model.db2.*"
于 2013-02-25T18:41:43.013 回答