2016-05-24 2 views
1

これは状況です。私は顧客と呼ばれるテーブルがあり、このテーブルは同じデータベース内の異なるスキーム間で繰り返されています。だから問題は、私はスキーマを指定するために複数のクラスを作成する必要がありますか、私は動的にスキーマを変更することができますか、この顧客のテーブルを休止状態のエンティティでマップするつもりです。私はこの休止状態フレームワークの初心者ですよ。異なるスキームの複数のテーブルに同じ休止状態エンティティをマップする方法はありますか

答えて

1

パーシスタンスユニットを増やす必要があります。また、適切な永続性ユニットを使用したエンティティマネージャファクトリを介して作成されたエンティティマネージャを使用します。 persistence.xmlの

<persistence-unit name="pu1" transaction-type="RESOURCE_LOCAL"> 
      <property name="hibernate.connection.url" value="jdbc:database://url1"/> 
      <property name="hibernate.connection.username" value="username"/> 
      <property name="hibernate.connection.password" value="pass"/> 
... 
</persistence-unit> 

<persistence-unit name="pu2" transaction-type="RESOURCE_LOCAL"> 
      <property name="hibernate.connection.url" value="jdbc:database://url12"/> 
      <property name="hibernate.connection.username" value="username"/> 
      <property name="hibernate.connection.password" value="pass"/> 
... 
</persistence-unit> 

private static EntityManagerFactory emf1; 
private static EntityManagerFactory emf2; 

emf1 = Persistence.createEntityManagerFactory("pu1"); 
emf2 = Persistence.createEntityManagerFactory("pu2"); 


emf1.createEntityManager();//Will store to database defined in pu1 
emf2.createEntityManager();//Will store to database defined in pu2 
+0

は、これは注釈を使用して可能です – MaxExplode

関連する問題