1

我遇到了一些奇怪的問題,試圖配置對兩個Oracle數據庫的訪問。以下是我的配置文件的樣子:Play Framework 2 - 多個數據庫配置中的枚舉問題

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。*」,則一切正常。

任何幫助將不勝感激。

Vlad。

回答

1

據我所知,你必須把模型類放到不同的包中,你不能引用單個類。

所以你的情況這將是:

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