2016-09-05 6 views
3

私はアノテーションの方法でEntityを生成するために、hibernateのORMとhibernate-generatorを使用しています。私はデータベースを頻繁に切り替える必要があります(dev/release)。だから、毎回エンティティの注釈を変更する必要があります。私はそれを設定する方法があるかどうかを知りたい。プロパティに応じてアノテーションの値を設定するにはどうすればよいですか?

@Entity 
@Table(name = "my", catalog = "dev_db") 
public class MyEntity { 

} 

ご覧のとおり、毎回カタログを変更する必要があります。 jdbc.propertiesに従ってそれを設定するには?

+0

あなたのケースに専用のカタログパラメータを導入することは可能ですか?データ・ログを構成Beanに入れることができます。 –

答えて

1

インターセプタを使用すると、休止状態によって生成されたSQLを変更できます。

public String onPrepareStatement(String sql) { 
    String superSQL = super.onPrepareStatement(newSQLWithNamespace); 
    //replace all catalog occurencies with desired value in the superSQL 
    return superSQL; 
} 

Add a column to all MySQL Select Queries in a single shot

インターセプタは、configからカタログ値を読み取り、SQLを変更できます。

関連する問題