3

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接続を使用するように設定するにはどうすればよいですか?

ありがとう

4

1 に答える 1

5

それは最初のドキュメントに示されていますあなたの場合、それは次のようになります:

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

異なるDB間でモデルを分割している場合は、ワイルドカード表記を使用できなくなっていることに注意してください。

ebean.default="models。*"

ebean.bar = "models.Bar"

于 2013-01-10T08:39:54.140 に答える