私は、以下のドキュメントあたりのセッションファクトリを取得するためにdropwizardの休止バンドルを使用するプロジェクトに取り組んでいます:プロジェクトは、任意のXMLを使用してのみの設定のための注釈付きクラスを使用していませんxmlなしでDropwizard HibernateBundleクラスでsetNamingStrategyを設定するにはどうすればよいですか?
http://www.dropwizard.io/0.7.1/docs/manual/hibernate.html
例のようにバンドルします。
public class ExampleConfiguration extends Configuration {
@Valid
@NotNull
@JsonProperty("database")
private DataSourceFactory database = new DataSourceFactory();
public DataSourceFactory getDataSourceFactory() {
return database;
}
}
private final HibernateBundle<ExampleConfiguration> hibernate =
new HibernateBundle<ExampleConfiguration>(
some.class
) {
@Override
public DataSourceFactory getDataSourceFactory(ExampleConfiguration configuration) {
return configuration.getDataSourceFactory();
}
};
はしかし、我々は、私は@Tableアノテーションが上書きされるようにDAOオブジェクトのテーブル名に環境を付加する必要があるユースケースを持っています。
私は、以下のドキュメント
http://docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/cfg/ImprovedNamingStrategy.html
しかし、どのように私は私のdropwizard休止状態バンドルに命名戦略をフックんにつき、ImprovedNamingStrategyを実装するクラスを持っています。私は
hibernateBundle.setNamingStrategy(ImprovedNamingStrategy.Instance)
または
hibernateBundle.addAnnotatedClass(someHibernateNamingPropertyConfig)
しかし、hibernateBundleのAPIは、このいずれかのために許可されていません...このような何かをできるようにしたいと思います。 HibernateBundleのソースコードを見ると
あなたはそれを使用していることが分かります "輸入io.dropwizard.Configurationを;"これらのメソッドをすべて公開するorg.hibernate.cfgとは対照的です。私は大きなリファクタを避けようとしているので、バンドルにネーミングプロパティを強制的に設定する "ハッキリ"な方法があれば、それでいいです。
ここからどこへ行くか考えてください。
あなたの質問をあなたの答えに変更したり、答えとして投稿したりできますか? –