S2JDBCの複数スキーマー対応 解決編
アドバイスを頂き、成功しましたので、対応方法を記述します。
この2つのファイルは既に記述しました内容のままになります。
「s2jdbc-print.dicon」
「s2jdbc-screen.dicon」
「printjdbcManager」「screenjdbcManager」、「s2jdbc.dicon」をコピーしていましたので、上手くいかない時は「jdbcManager」になっていました。
つまり、1つしか指定されていなく、最初が勝つ、という現象になっていました。
1.デフォルトにあります
を削除します。
2.
全てを選択し、同じファイルにコピーします。
3.エラーが出力されると思いますので、全てコピーした方に「2」を追加します。
になります。
4.あとはそれぞれのjdbcmanagernameプロパティーに既にs2jdbc--.diconに定義した名前("printjdbcManager"等)を設定します。
jdbcmanagername="printjdbcManager"
jdbcmanagername="screenjdbcManager"
上記以外のすべてのTargetタグ内を変更します(長くなるので省略です)。
5.Antを実行する時の引数を以下のようにします。
gen-entity
gen-entity2
6.上記の設定を行い、実行すると上手くいきました。
Serviceパッケージを見ると、
@Resource(name = "printjdbcManager")
@TransactionAttribute(TransactionAttributeType.NEVER)
public void setJdbcManager(JdbcManager jdbcManager) {
this.jdbcManager = jdbcManager;
}
@Resource(name = "screenjdbcManager")
@TransactionAttribute(TransactionAttributeType.NEVER)
public void setJdbcManager(JdbcManager jdbcManager) {
this.jdbcManager = jdbcManager;
}
それぞれに対応したjdbcManagerが問題なく出力されています。
やはり1度で全てが完了できると、うれしいです。