2013-01-10 57 views
3

我正在使用Play! 2.0.4(Java版本),我需要訪問2個不同的數據庫(實際上是2個獨立的模式)。所以在我的application.conf,我已經定義了:配置Play! 2個模型在多個數據庫環境中使用特定數據庫

db.default.driver=oracle.jdbc.OracleDriver 
db.default.url="jdbc:oracle:thin:@server:1234:SCHEMA1" 
db.default.user=user1 
db.default.password=password1 

db.bar.driver=oracle.jdbc.OracleDriver 
db.bar.url="jdbc:oracle:thin:@server:1234:SCHEMA2" 
db.bar.user=user2 
db.bar.password=password2 

現在,我有我需要鏈接bar數據庫的模型。

@Entity 
@Table(name = "T_BAR") 
public class Bar extends Model { 

    ... 

    public static Finder<Integer, Bar> finder = new Finder<Integer, Bar>(Integer.class, Bar.class); 

    public static Bar findOne() { 
     return finder.where().[some conditions].findUnique(); 
    } 

} 

當然這不會是玩的工作將試圖訪問在default連接定義的數據庫。

所以我的問題是我怎樣才能配置我的Model總是使用bar連接?

感謝

回答

5

它表明在documentation at the beggining你的情況,這將是這樣的:

ebean.default="models.Foo,models.A,models.B,models.C" 
ebean.bar="models.Bar" 

請注意,如果你是不同的DB之間分割的模型,你不能使用通配符符號了:

ebean.default = 「模式。*」

ebean.bar = 「models.Bar」