配置播放!2个模型在多个数据库环境中使用特定数据库

Rom*_*las 3 java playframework-2.0

我正在玩Play!2.0.4(Java版),我需要访问2个不同的数据库(实际上是2个独立的模式).所以在我看来application.conf,我已经定义了:

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
Run Code Online (Sandbox Code Playgroud)

现在,我有一个模型,我需要与数据库链接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();
    }

}
Run Code Online (Sandbox Code Playgroud)

当然这不会起作用,因为Play将尝试访问default连接中定义的数据库.

所以我的问题是如何配置我Model总是使用bar连接?

谢谢

bie*_*ior 5

在初学者的文档中显示在你的情况下它将是这样的:

ebean.default="models.Foo,models.A,models.B,models.C"
ebean.bar="models.Bar"
Run Code Online (Sandbox Code Playgroud)

请注意,如果要在不同的DB之间拆分模型,则不能再使用通配符表示法:

ebean.default = "模式.*"

ebean.bar = "models.Bar"