[hibernate-dev] Error: registry contains more than one (2) entity manager factories: PERSISTENCE_UNIT_NAME
Teresa Batista Neto
teresa.batista.neto at gmail.com
Thu Dec 20 05:38:45 EST 2012
Dear all,
After upgrading JPA from 3.6.1 to 4.1.8 I start getting the following error:
"Error: registry contains more than one (2) entity manager factories:
PERSISTENCE_UNIT_NAME"
Below you can find a brief summary of our specification requirements.
- User logins in the web application using their own oracle database
account.
- The web application only needs to access one database schema;
- The access rights are managed using oracle roles and grant privilegies.
- Only one database schema and multiple user oracle accounts.
- We only set the username and password when users tries to login in the
web application.
- The EntityManagerFactory is created using the username and password of
the user.
- Because our web application only access one database we only use one
persistence unit name.
E.g. persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="PERSISTENCE_UNIT_NAME">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.
OracleDriver">
<property name="hibernate.connection.url" value="jdbc:oracle:xx...">
<property name="hibernate.dialect" value="org.hibernate.dialect.
Oracle10gDialect">
<property name="hibernate.default_schema" value="SCHEMA_NAME">
<property name="hibernate.connection.username" value="USERNAME">
<property name="hibernate.connection.password" value="PASSWORD">
<property name="hibernate.connection.autocommit" value="false">
<property name="hbm2ddl.auto" value="validate">
<property name="hibernate.show_sql" value="true">
<property name="hibernate.format_sql" value="true">
</properties>
</persistence-unit>
</persistence>
E.g. how we create and close the entity manager factory
Map<String, String> configuration = new ProviderConfiguration();
configuration.put("hibernate.connection.username", username);
configuration.put("hibernate.connection.password", password);
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("PERSISTENCE_UNIT_NAME",
configuration);
EntityManager em = emf.createEntityManager();
SptrTaxNode t = em.find(SptrTaxNode.class, 9606);
em.close();
emf.close();
Does anyone ever had a similar situation? Any ideas on how can I solve this
problem?
Thanks in advance,
Teresa
More information about the hibernate-dev
mailing list