2011-01-18 8 views
0

Java plugin frameworkを使用してJavaプラグインアプリケーションを開発しようとしています。すべてのプラグインはJPA(Eclipselink付き)を使用してuniqデータベースにアクセスします。エンティティを即座に宣言するにはどうすればいいですか?

しかし、各プラグインには独自のエンティティがあります。

コアプラグインの1つのユニークなファイルpersitence.xmlにすべてのエンティティを宣言できませんでした。

質問は、EntityManagerFactoryを宣言するときに、その場でEntityクラスを宣言できますか?私はすでにユーザー設定ファイルから接続文字列とユーザー/パスワードを取得するためにマップを使用しています。

エンティティで同じことを行う方法はありますか?

Map<String, String> p = new HashMap<String, String>(); 
p.put("javax.persistence.jdbc.url", dns); 
p.put("javax.persistence.jdbc.driver", "com.mysql.jdbc.Driver"); 
p.put("javax.persistence.jdbc.user", config.getProperty("com.cjrf.xbmo.db.username", "")); 
p.put("javax.persistence.jdbc.password", config.getProperty("com.cjrf.xbmo.db.password", "")); 
entityManagerFactory = Persistence.createEntityManagerFactory("mediamanager", p); 

ありがとうございました。

答えて

0

あなたの唯一の懸念は、あなたはfuncionalityを自動検出を使用することができますpersistence.xmlでクラスファイルを宣言しないではない場合。

EclipseLinkのために、これは今@Entityにマッピングされたすべての注釈が自動的にスキャンされます

<exclude-unlisted-classes>false</exclude-unlisted-classes> 

をpersistence.xmlに追加します。

関連する問題