我正在玩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
现在,我有一个模型,我需要链接与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();
}
}
当然这不会起作用,因为Play会尝试访问default
连接中定义的数据库。
所以我的问题是如何配置Model
始终使用bar
连接?
由于
答案 0 :(得分:5)
它显示在documentation at the beggining在你的情况下它会是这样的:
ebean.default="models.Foo,models.A,models.B,models.C"
ebean.bar="models.Bar"
请注意,如果要在不同数据库之间拆分模型,则不能再使用通配符表示法:
<击> 撞击>
<击> 击><击>ebean.default = “模型。*”
击><击> ebean.bar = “models.Bar” 击>