/** * Initialize the EntityManagerFactory for the given configuration. * @throws javax.persistence.PersistenceException in case of JPA initialization errors */ @Override protected EntityManagerFactory createNativeEntityManagerFactory() throws PersistenceException { if (logger.isDebugEnabled()) { logger.debug("Building JPA EntityManagerFactory for persistence unit '" + getPersistenceUnitName() + "'"); } PersistenceProvider provider = getPersistenceProvider(); if (provider != null) { // Create EntityManagerFactory directly through PersistenceProvider. EntityManagerFactory emf = provider.createEntityManagerFactory(getPersistenceUnitName(), getJpaPropertyMap()); if (emf == null) { throw new IllegalStateException( "PersistenceProvider [" + provider + "] did not return an EntityManagerFactory for name '" + getPersistenceUnitName() + "'"); } return emf; } else { // Let JPA perform its standard PersistenceProvider autodetection. return Persistence.createEntityManagerFactory(getPersistenceUnitName(), getJpaPropertyMap()); } }
private EntityManagerFactory getEntityManagerFactory() { if ( emf == null ) { Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); BundleContext context = thisBundle.getBundleContext(); ServiceReference serviceReference = context.getServiceReference( PersistenceProvider.class.getName() ); PersistenceProvider persistenceProvider = ( PersistenceProvider ) context .getService( serviceReference ); emf = persistenceProvider.createEntityManagerFactory( "YourPersistenceUnitName", null ); } return emf; } }
/** {@inheritDoc} */ @SuppressWarnings("rawtypes") @Override public EntityManagerFactory createEntityManagerFactory(final String unit, final Map map) { initJpaCounter(); final PersistenceProvider persistenceProvider = findDelegate(map); final ClassLoader tccl = tccl(); final ClassLoader hack = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() { // pour findbugs /** {@inheritDoc} */ @Override public ClassLoader run() { return new JpaOverridePersistenceXmlClassLoader(tccl, persistenceProvider.getClass().getName()); } }); Thread.currentThread().setContextClassLoader(hack); try { final EntityManagerFactory entityManagerFactory = persistenceProvider .createEntityManagerFactory(unit, map); if (entityManagerFactory == null) { return null; } return JpaWrapper.createEntityManagerFactoryProxy(entityManagerFactory); } finally { Thread.currentThread().setContextClassLoader(tccl); } }
/** * Create and return an EntityManagerFactory for the named persistence unit using the given properties. * * @param persistenceUnitName The name of the persistence unit * @param properties Additional properties to use when creating the factory. The values of these properties override * any values that may have been configured elsewhere * * @return The factory that creates EntityManagers configured according to the specified persistence unit */ public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) { EntityManagerFactory emf = null; List<PersistenceProvider> providers = getProviders(); for ( PersistenceProvider provider : providers ) { emf = provider.createEntityManagerFactory( persistenceUnitName, properties ); if ( emf != null ) { break; } } if ( emf == null ) { throw new PersistenceException( "No Persistence provider for EntityManager named " + persistenceUnitName ); } return emf; }
for (PersistenceProvider provider : providersFound) { try { emf = provider.createEntityManagerFactory(persistenceUnitName, properties); if (emf != null) { break;
/** * Initialize the EntityManagerFactory for the given configuration. * @throws javax.persistence.PersistenceException in case of JPA initialization errors */ @Override protected EntityManagerFactory createNativeEntityManagerFactory() throws PersistenceException { if (logger.isDebugEnabled()) { logger.debug("Building JPA EntityManagerFactory for persistence unit '" + getPersistenceUnitName() + "'"); } PersistenceProvider provider = getPersistenceProvider(); if (provider != null) { // Create EntityManagerFactory directly through PersistenceProvider. EntityManagerFactory emf = provider.createEntityManagerFactory(getPersistenceUnitName(), getJpaPropertyMap()); if (emf == null) { throw new IllegalStateException( "PersistenceProvider [" + provider + "] did not return an EntityManagerFactory for name '" + getPersistenceUnitName() + "'"); } return emf; } else { // Let JPA perform its standard PersistenceProvider autodetection. return Persistence.createEntityManagerFactory(getPersistenceUnitName(), getJpaPropertyMap()); } }
final ServiceReference serviceReference = bundleContext.getServiceReference( PersistenceProvider.class.getName() ); final PersistenceProvider persistenceProvider = (PersistenceProvider) bundleContext.getService( serviceReference ); final EntityManagerFactory emf = persistenceProvider.createEntityManagerFactory( "hibernate-osgi-test", null );
@Test public void testJpaEnvers() throws Exception { final ServiceReference serviceReference = bundleContext.getServiceReference( PersistenceProvider.class.getName() ); final PersistenceProvider persistenceProvider = (PersistenceProvider) bundleContext.getService( serviceReference ); final EntityManagerFactory emf = persistenceProvider.createEntityManagerFactory( "hibernate-osgi-test", null ); final Integer adpId; EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); AuditedDataPoint adp = new AuditedDataPoint( "Chris" ); em.persist( adp ); em.getTransaction().commit(); adpId = adp.getId(); em.close(); em = emf.createEntityManager(); em.getTransaction().begin(); adp = em.find( AuditedDataPoint.class, adpId ); adp.setName( "Chris2" ); em.getTransaction().commit(); em.close(); em = emf.createEntityManager(); AuditReader ar = AuditReaderFactory.get( em ); assertEquals( 2, ar.getRevisions( AuditedDataPoint.class, adpId ).size() ); AuditedDataPoint rev1 = ar.find( AuditedDataPoint.class, adpId, 1 ); AuditedDataPoint rev2 = ar.find( AuditedDataPoint.class, adpId, 2 ); assertEquals( new AuditedDataPoint( adpId, "Chris" ), rev1 ); assertEquals( new AuditedDataPoint( adpId, "Chris2" ), rev2 ); em.close(); }
/** * Create and return an EntityManagerFactory for the named persistence unit using the given properties. * * @param persistenceUnitName The name of the persistence unit * @param properties Additional properties to use when creating the factory. The values of these properties override * any values that may have been configured elsewhere * * @return The factory that creates EntityManagers configured according to the specified persistence unit */ public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) { EntityManagerFactory emf = null; List<PersistenceProvider> providers = getProviders(); for ( PersistenceProvider provider : providers ) { emf = provider.createEntityManagerFactory( persistenceUnitName, properties ); if ( emf != null ) { break; } } if ( emf == null ) { throw new PersistenceException( "No Persistence provider for EntityManager named " + persistenceUnitName ); } return emf; }
/** * Create and return an EntityManagerFactory for the named persistence unit * using the given properties. * * @param persistenceUnitName * the name of the persistence unit * @param properties * Additional properties to use when creating the factory. * These properties may include properties to control * schema generation. The values of these properties override * any values that may have been configured elsewhere. * @return the factory that creates EntityManagers configured according to * the specified persistence unit. */ public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) { EntityManagerFactory emf = null; PersistenceProviderResolver resolver = PersistenceProviderResolverHolder.getPersistenceProviderResolver(); List<PersistenceProvider> providers = resolver.getPersistenceProviders(); for (PersistenceProvider provider : providers) { emf = provider.createEntityManagerFactory(persistenceUnitName, properties); if (emf != null) { break; } } if (emf == null) { throw new PersistenceException("No Persistence provider for EntityManager named " + persistenceUnitName); } return emf; }
/** * @see org.seasar.framework.jpa.PersistenceUnitProvider#createEntityManagerFactory(String, * String) */ public EntityManagerFactory createEntityManagerFactory( String abstractUnitName, String concreteUnitName) { return persistenceProvider.createEntityManagerFactory(concreteUnitName, null); }
/** * @inheritDoc */ @Override public EntityManagerFactory createEntityManagerFactory(final String theName, final Map theMap) { return getPersistenceProvider().createEntityManagerFactory(theName, theMap); }
private static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName) { if (Util.isOSGiContext()) { Bundle thisBundle = FrameworkUtil.getBundle(EntityManagerFactoryRegistry.class); BundleContext context = thisBundle.getBundleContext(); ServiceReference<?> serviceReference = context.getServiceReference(PersistenceProvider.class.getName()); PersistenceProvider persistenceProvider = (PersistenceProvider) context.getService(serviceReference); return persistenceProvider.createEntityManagerFactory(persistenceUnitName, null); } else { return Persistence.createEntityManagerFactory(persistenceUnitName); } } }
protected EntityManagerFactory createEMF(Map<String,Object> props) { EntityManagerFactory result = this.provider.createEntityManagerFactory(this.puName, props); if (result == null) fatalError("Proxy could not create EMF " + puName + " from provider " + provider, null); return result; }
/** Create a new persistence environment. This method is the preferred way of creating a persistence environment. */ public static PersistenceEnv persistenceEnvironment(PersistenceProvider persistenceProvider, String emName, Map persistenceProps) { return persistenceEnvironment(persistenceProvider.createEntityManagerFactory(emName, persistenceProps)); }
/** Create a new persistence environment. This method is the preferred way of creating a persitence environment. */ public static PersistenceEnv newPersistenceEnvironment(PersistenceProvider persistenceProvider, String emName, Map persistenceProps) { return newPersistenceEnvironment(persistenceProvider.createEntityManagerFactory(emName, persistenceProps)); }
@SuppressWarnings("rawtypes") @Override public XEntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) { return (XEntityManagerFactory)this.getRawProvider().createEntityManagerFactory(persistenceUnitName, properties); }
PersistenceProvider provider = new HibernatePersistenceProvider(); EntityManagerFactory emf = provider.createEntityManagerFactory( PERSISTENCE_UNIT, props);
/** Create a new persistence environment. This method is the preferred way of creating a persistence environment. */ public static PersistenceEnv mk(PersistenceProvider persistenceProvider, String emName, Map persistenceProps) { return mk(persistenceProvider.createEntityManagerFactory(emName, persistenceProps)); }
public class PersistenceManager { @Autowired private LocalEntityManagerFactoryBean persistence; private PersistenceProvider provider; public EntityManager getBaglam(String unitName){ if(null == provider) provider = persistence.getPersistenceProvider(); if(!unitName.equals(persistence.getPersistenceUnitName())) persistence.setPersistenceUnitName(unitName); return provider.createEntityManagerFactory(unitName, null).createEntityManager(); } }