java - 配置 Play !在多个数据库环境中使用特定数据库的 2 个模型

标签 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

现在,我有一个模型需要链接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 连接?

谢谢

最佳答案

显示在 documentation at the beggining 中在您的情况下,它将是这样的:

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

请注意,如果您在不同的数据库之间拆分模型,则不能再使用通配符:

<罢工>

<罢工>

ebean.default="models.*"

ebean.bar="models.Bar"

关于java - 配置 Play !在多个数据库环境中使用特定数据库的 2 个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14253450/

相关文章:

java - 在 IntelliJ 中使用 Breeze

scala - Scala中抽象类型参数的隐式转换

java - 使用 Retrofit2 迭代网络 API 调用

java - 如何通过url-request获取内容?

playframework-2.0 - 我可以为 Play Framework 2 中的一个 Action 定义多个 HTTP 动词吗?

scala - 使用 sass 和 compass 配置文件玩框架 2

twitter-bootstrap - 玩!框架和 Twitter Bootstrap 下拉菜单处于事件状态

Eclipse 与 Play Framework 无法解析的符号

java - 如何让一个类成为bean?

java - @Query 无法解析我的数据库