2016-05-24 6 views
1

Dies ist die Situation. Ich habe eine Tabelle namens Kunde und diese Tabelle wiederholt sich zwischen verschiedenen Schemas in der gleichen Datenbank. Das Problem ist also, wenn ich diese Kundentabelle mit Hibernate-Entity abbilde. Muss ich mehrere Klassen erstellen, um das Schema anzugeben, oder kann ich das Schema in der Entity dynamisch ändern? Ich bin ein Neuling zu diesem Hibernate-Framework bitte helfen.Gibt es eine Möglichkeit, dieselbe Hibernate-Entität mehreren Tabellen in verschiedenen Schemata zuzuordnen

Antwort

1

Sie müssen mehr Persistenzeinheit haben. Und verwenden Sie den Entitätsmanager, der über den Entity Manager Factory erstellt wurde, der die richtige Persistenzeinheit verwendet.

In 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

ist dies möglich ist Anmerkungen bei der Verwendung – MaxExplode

Verwandte Themen