Package javax.persistence.spi

Examples of javax.persistence.spi.PersistenceProvider


   * @param info The info to use for creating the EMF
   * @return A new EMF based on the unit setup
   */
  public static EntityManagerFactory createFactory (PersistenceUnitInfo info) {
    Class<? extends PersistenceProvider> ppc = ReflectionUtil.getClass( info.getPersistenceProviderClassName() );
    PersistenceProvider provider = ReflectionUtil.newInstance(ppc, new Class[0]);
    return provider.createContainerEntityManagerFactory(info, new LinkedHashMap( info.getProperties() ));
  }
View Full Code Here


            try {
                List<PersistenceProvider> persistenceProviders = PersistenceProviderResolverHolder
                .getPersistenceProviderResolver().getPersistenceProviders();
                if (persistenceProviders != null && persistenceProviders.size() > 0) {
                    defaultPersistenceunitInfo = new JPersistenceUnitInfo();
                    PersistenceProvider provider = persistenceProviders.get(0);
                    defaultPersistenceunitInfo.setPersistenceProvider(provider);
                    defaultPersistenceunitInfo.setPersistenceProviderClassName(provider.getClass().getName());
                }
            } catch (Error e) {
                logger
                        .warn("No Persistence provider has been set and no JPA 2.0 API found so no access to "
                                + "PersistenceProviderResolverHolder.getPersistenceProviderResolver().getPersistenceProviders() was available");
View Full Code Here

                // Try with the new JPA 2.0 API
                try {
                    List<PersistenceProvider> persistenceProviders = PersistenceProviderResolverHolder
                            .getPersistenceProviderResolver().getPersistenceProviders();
                    if (persistenceProviders != null && persistenceProviders.size() > 0) {
                        PersistenceProvider provider = persistenceProviders.get(0);
                        persistenceUnitInfo.setPersistenceProvider(provider);
                        persistenceUnitInfo.setPersistenceProviderClassName(provider.getClass().getName());
                    } else {
                        throw new PersistenceXmlFileAnalyzerException("No Persistence provider has been set");
                    }
                } catch (Error e) {
                    throw new PersistenceXmlFileAnalyzerException(
                            "No Persistence provider has been set and no JPA 2.0 API found so no access to "
                                    + "PersistenceProviderResolverHolder.getPersistenceProviderResolver().getPersistenceProviders() was available");
                }


            }

            // Instatiate only if this was not already done
            if (persistenceUnitInfo.getPersistenceProvider() == null) {

                // instantiate persistence provider
                Class<?> persistenceProviderClass;
                try {
                    persistenceProviderClass = ClassUtils.forName(persistenceUnitInfo
                            .getPersistenceProviderClassName(), PersistenceXmlFileAnalyzer.class);
                } catch (ClassNotFoundException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot load the persistence provider class '"
                            + persistenceUnitInfo.getPersistenceProviderClassName() + "'.");
                }
                PersistenceProvider persistenceProvider;
                try {
                    persistenceProvider = (PersistenceProvider) persistenceProviderClass.newInstance();
                } catch (InstantiationException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot instantiate the persistence provider class '"
                            + persistenceUnitInfo.getPersistenceProviderClassName() + "'.", e);
View Full Code Here

      log.config("JPA PersistenceUnit[" + getName() + "] handled by "
                 + cl.getName());
    }

    try {
      PersistenceProvider provider = (PersistenceProvider) cl.newInstance();

      HashMap<String,Object> map = null;
     
      _emfDelegate = provider.createContainerEntityManagerFactory(this, map);

      if (log.isLoggable(Level.FINE)) {
        log.fine("JPA PersistenceUnit[" + getName() + "] EMF delegate is "
                   + _emfDelegate);
      }
View Full Code Here

                excludeUnlistedClassesValue,
                properties,
                classLoader);
        try {
            Class clazz = classLoader.loadClass(persistenceProviderClassName);
            PersistenceProvider persistenceProvider = (PersistenceProvider) clazz.newInstance();
            entityManagerFactory = persistenceProvider.createContainerEntityManagerFactory(persistenceUnitInfo, properties);
        } catch (ClassNotFoundException e) {
            persistenceUnitInfo.destroy();
            throw new PersistenceException("Could not locate PersistenceProvider class: " + persistenceProviderClassName + " in classloader " + classLoader, e);
        } catch (InstantiationException e) {
            persistenceUnitInfo.destroy();
View Full Code Here

        unitInfo.setTransactionType(transactionType);

        unitInfo.getManagedClassNames().add("org.apache.openejb.core.cmp.jpa.Employee");

        PersistenceProvider persistenceProvider = (PersistenceProvider) getClass().getClassLoader().loadClass(PERSISTENCE_PROVIDER).newInstance();
        EntityManagerFactory emf = persistenceProvider.createContainerEntityManagerFactory(unitInfo, new HashMap());

        return emf;
    }
View Full Code Here

                    for (String name : unit.classes) {
                        debug("class " + name);
                    }
                    Class clazz = classLoader.loadClass(unit.provider);
                    PersistenceProvider persistenceProvider = (PersistenceProvider) clazz.newInstance();

                    // Create entity manager factory
                    EntityManagerFactory emf = persistenceProvider.createContainerEntityManagerFactory(info, new HashMap());
                    debug("success: " + provider);
                } catch (Throwable e) {
                    debug("failed: " + provider, e);
                }
            }
View Full Code Here

    @Override
    public EntityManagerFactory call() throws Exception {
        final ClassLoader appClassLoader = Thread.currentThread().getContextClassLoader();
        Class clazz = appClassLoader.loadClass(persistenceProviderClassName);
        PersistenceProvider persistenceProvider = (PersistenceProvider) clazz.newInstance();

        // Create entity manager factories with the validator factory
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("javax.persistence.validator.ValidatorFactory", new ValidatorFactoryWrapper());
        EntityManagerFactory emf = persistenceProvider.createContainerEntityManagerFactory(unitInfo, properties);

        if (unitInfo.getNonJtaDataSource() != null) {
            final ImportSql importer = new ImportSql(appClassLoader, unitInfo.getPersistenceUnitName(), unitInfo.getNonJtaDataSource());
            if (importer.hasSomethingToImport()) {
                emf.createEntityManager().close(); // to let OpenJPA create the database if configured this way
View Full Code Here

                    for (String name : unit.classes) {
                        debug("class " + name);
                    }
                    Class clazz = classLoader.loadClass(unit.provider);
                    PersistenceProvider persistenceProvider = (PersistenceProvider) clazz.newInstance();

                    // Create entity manager factory
                    EntityManagerFactory emf = persistenceProvider.createContainerEntityManagerFactory(info, new HashMap());
                    debug("success: " + provider);
                } catch (Throwable e) {
                    debug("failed: " + provider, e);
                }
            }
View Full Code Here

      if(emfs == null) {
        try {
          emfs = new HashMap<String, EntityManagerFactory>();
       
          //Get hold of the provider
          PersistenceProvider providerService = (PersistenceProvider) containerContext.getService(provider);

          if(providerService == null) {
            _logger.warn("The PersistenceProvider service hosting persistence units in bundle "
                + bundle.getSymbolicName() + "_" + bundle.getVersion() + " is no longer available. " +
                    "Persistence units defined by the bundle will not be available until the bundle is refreshed");
            throw new InvalidPersistenceUnitException();
          }
     
          for(ManagedPersistenceUnitInfo info : persistenceUnits){
            PersistenceUnitInfo pUnitInfo = info.getPersistenceUnitInfo();
       
            emfs.put(pUnitInfo.getPersistenceUnitName(),
                providerService.createContainerEntityManagerFactory(
                    pUnitInfo, info.getContainerProperties()));
          }
        } finally {
          //Remember to unget the provider
          containerContext.ungetService(provider);
View Full Code Here

TOP

Related Classes of javax.persistence.spi.PersistenceProvider

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.