微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javax.persistence.spi.PersistenceUnitInfo的实例源码

项目:spring-cloud-skipper    文件SchemaGenerationTests.java   
@Test
public void generateSchemaDdlFiles() throws Exception {

    final PersistenceUnitInfo persistenceUnitInfo = fb.getPersistenceUnitInfo();
    final File tempDir = Files.createTempDirectory("skipper-sql-").toFile();
    final List<String> supportedHibernateDialects = new ArrayList<>();

    supportedHibernateDialects.add("H2");
    supportedHibernateDialects.add("Hsql");
    supportedHibernateDialects.add("MysqL5");
    supportedHibernateDialects.add("Oracle10g");
    supportedHibernateDialects.add("Postgresql94");
    supportedHibernateDialects.add("DB2");
    supportedHibernateDialects.add("sqlServer2012");

    logger.info(
        "\n\nGenerating DDL scripts for the following dialects:\n\n"
            + supportedHibernateDialects.stream().map((db) -> db + "Dialect").collect(Collectors.joining("\n")) + "\n");

    for (String supportedHibernateDialect : supportedHibernateDialects) {
        generateDdlFiles(supportedHibernateDialect,tempDir,persistenceUnitInfo);
    }

    logger.info("\n\nYou can find the DDL scripts in directory: " + tempDir.getAbsolutePath() + "\n");

}
项目:testee.fi    文件JpaInjectionServicesImpl.java   
private synchronized EntityManager getEntityManager(final PersistenceUnitInfo unit) {
    if (entityManagers.containsKey(unit.getPersistenceUnitName())) {
        return entityManagers.get(unit.getPersistenceUnitName());
    }
    final String providerClassName = unit.getPersistenceProviderClassName();
    try {
        final PersistenceProvider provider = (PersistenceProvider) Class.forName(providerClassName).newInstance();
        final EntityManagerFactory emf = provider.createContainerEntityManagerFactory(unit,new HashMap());
        final EntityManager entityManager = emf.createEntityManager();
        entityManagers.put(unit.getPersistenceUnitName(),entityManager);
        entityManager.getTransaction().begin();
        return entityManager;
    } catch (final illegalaccessexception | InstantiationException | ClassNotFoundException e) {
        throw new TestEEfiException("Failed to load persistence provider class " + providerClassName,e);
    }
}
项目:lams    文件DefaultPersistenceUnitManager.java   
@Override
public PersistenceUnitInfo obtainDefaultPersistenceUnitInfo() {
    if (this.persistenceUnitInfoNames.isEmpty()) {
        throw new IllegalStateException("No persistence units parsed from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations));
    }
    if (this.persistenceUnitInfos.isEmpty()) {
        throw new IllegalStateException("All persistence units from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations) + " already obtained");
    }
    if (this.persistenceUnitInfos.size() > 1) {
        return obtainPersistenceUnitInfo(this.defaultPersistenceUnitName);
    }
    PersistenceUnitInfo pui = this.persistenceUnitInfos.values().iterator().next();
    this.persistenceUnitInfos.clear();
    return pui;
}
项目:jk-db    文件JKDefaultDataSource.java   
@Override
public EntityManagerFactory getEntityManagerFactory(String name) {
    logger.debug("getEntityManagerFactory() ",name);
    EntityManagerFactory emf = getCache().get(name,EntityManagerFactory.class);
    if (emf == null) {
        logger.debug("EMF not loaded,loading Now...");
        Properties prop = new Properties();
        prop.setProperty(JKPersistenceUnitProperties.JDBC_DRIVER,getDriverName());
        prop.setProperty(JKPersistenceUnitProperties.JDBC_PASSWORD,getpassword());
        prop.setProperty(JKPersistenceUnitProperties.JDBC_URL,getDatabaseUrl());
        prop.setProperty(JKPersistenceUnitProperties.JDBC_USER,getUsername());
        PersistenceUnitInfo persisitnceUnitInfo = getPersisitnceUnitInfo(name,prop,getEntitiesPackages());
        emf = JKEntityManagerFactory.createEntityManagerFactory(persisitnceUnitInfo);
        logger.debug("add to emf cache ");
        getCache().cache(name,emf,EntityManagerFactory.class);
    }
    return emf;
}
项目:spring4-understanding    文件DefaultPersistenceUnitManager.java   
@Override
public PersistenceUnitInfo obtainDefaultPersistenceUnitInfo() {
    if (this.persistenceUnitInfoNames.isEmpty()) {
        throw new IllegalStateException("No persistence units parsed from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations));
    }
    if (this.persistenceUnitInfos.isEmpty()) {
        throw new IllegalStateException("All persistence units from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations) + " already obtained");
    }
    if (this.persistenceUnitInfos.size() > 1) {
        return obtainPersistenceUnitInfo(this.defaultPersistenceUnitName);
    }
    PersistenceUnitInfo pui = this.persistenceUnitInfos.values().iterator().next();
    this.persistenceUnitInfos.clear();
    return pui;
}
项目:spring4-understanding    文件PersistenceXmlParsingTests.java   
@Test
public void testMetaInfCase() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),new JndiDataSourceLookup());
    String resource = "/org/springframework/orm/jpa/meta-inf/persistence.xml";
    PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);

    assertNotNull(info);
    assertEquals(1,info.length);
    assertEquals("OrderManagement",info[0].getPersistenceUnitName());

    assertEquals(2,info[0].getJarFileUrls().size());
    assertEquals(new ClassPathResource("order.jar").getURL(),info[0].getJarFileUrls().get(0));
    assertEquals(new ClassPathResource("order-supplemental.jar").getURL(),info[0].getJarFileUrls().get(1));

    assertFalse("Exclude unlisted should default false in 1.0.",info[0].excludeUnlistedClasses());
}
项目:spring4-understanding    文件PersistenceXmlParsingTests.java   
@Test
public void testExample2() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),new JndiDataSourceLookup());
    String resource = "/org/springframework/orm/jpa/persistence-example2.xml";
    PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);

    assertNotNull(info);
    assertEquals(1,info.length);

    assertEquals("OrderManagement2",info[0].getPersistenceUnitName());

    assertEquals(1,info[0].getMappingFileNames().size());
    assertEquals("mappings.xml",info[0].getMappingFileNames().get(0));
    assertEquals(0,info[0].getProperties().keySet().size());

    assertFalse("Exclude unlisted should default false in 1.0.",info[0].excludeUnlistedClasses());
}
项目:spring4-understanding    文件PersistenceXmlParsingTests.java   
@Test
public void testExample3() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),new JndiDataSourceLookup());
    String resource = "/org/springframework/orm/jpa/persistence-example3.xml";
    PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);

    assertNotNull(info);
    assertEquals(1,info.length);
    assertEquals("OrderManagement3",info[0].getJarFileUrls().get(1));

    assertEquals(0,info[0].getProperties().keySet().size());
    assertNull(info[0].getJtaDataSource());
    assertNull(info[0].getNonJtaDataSource());

    assertFalse("Exclude unlisted should default false in 1.0.",info[0].excludeUnlistedClasses());
}
项目:spring4-understanding    文件PersistenceXmlParsingTests.java   
@Test
public void testExample5() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),new JndiDataSourceLookup());
    String resource = "/org/springframework/orm/jpa/persistence-example5.xml";
    PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);

    assertNotNull(info);
    assertEquals(1,info.length);
    assertEquals("OrderManagement5",info[0].getMappingFileNames().size());
    assertEquals("order1.xml",info[0].getMappingFileNames().get(0));
    assertEquals("order2.xml",info[0].getMappingFileNames().get(1));

    assertEquals(2,info[0].getJarFileUrls().get(1));

    assertEquals("com.acme.AcmePersistence",info[0].getPersistenceProviderClassName());
    assertEquals(0,info[0].excludeUnlistedClasses());
}
项目:cibet    文件Provider.java   
@Override
public EntityManagerFactory createEntityManagerFactory(String unitName,Map map) {
   PersistenceUnitInfo info = createPersistenceUnitInfo(unitName);
   if (info == null) {
      log.info("no persistence unit found with name " + unitName);
      return null;
   }

   if (getClass().getName().equals(info.getPersistenceProviderClassName())
         || (map != null && getClass().getName().equals(map.get(PERSISTENCE_PROVIDER_PROPERTY)))) {
      log.info("create resource_local EntityManagerFactory");
      logInfo(info,map);

      boolean loadEager = isLoadEager(info,map);
      persistenceProvider = createNativePersistenceProvider(info,map);
      map = createPersistenceProviderProperty(map,persistenceProvider);
      EntityManagerFactory nativeEntityManagerFactory = persistenceProvider.createEntityManagerFactory(unitName,map);
      return new CibetEntityManagerFactory(nativeEntityManagerFactory,loadEager);
   } else {
      log.debug(this.getClass().getName() + " does not match provider for persistence unit " + unitName);
      return null;
   }
}
项目:cibet    文件Provider.java   
protected PersistenceUnitInfo createPersistenceUnitInfo(String persistenceUnitName) {
   try {
      PersistenceXmlParser persistenceXmlParser = new PersistenceXmlParser();
      for (Enumeration<URL> persistenceFiles = Thread.currentThread().getContextClassLoader()
            .getResources(PERSISTENCE_FILE); persistenceFiles.hasMoreElements();) {
         URL persistenceFile = persistenceFiles.nextElement();
         persistenceXmlParser.parse(persistenceFile);
         if (persistenceXmlParser.containsPersistenceUnitInfo(persistenceUnitName)) {
            PersistenceUnitInfo persistenceUnitInfo = persistenceXmlParser
                  .getPersistenceUnitInfo(persistenceUnitName);
            return persistenceUnitInfo;
         }
      }
      return null;
   } catch (IOException e) {
      throw new PersistenceException(e);
   }
}
项目:cibet    文件Provider.java   
protected void logInfo(PersistenceUnitInfo info,Map map) {
   if (log.isDebugEnabled()) {
      if (map != null && map.size() > 0) {
         log.debug(this + " properties: ---------------------");
         Iterator<Map.Entry<?,?>> it = map.entrySet().iterator();
         while (it.hasNext()) {
            Map.Entry<?,?> entry = it.next();
            log.debug(entry.getKey() + " = " + entry.getValue());
         }
      }

      if (log.isDebugEnabled()) {
         log.debug("PersistenceUnitInfo properties: ---------------------");
         log.debug(info);
      }
   }

}
项目:cibet    文件JdbcBridgeProvider.java   
@Override
public EntityManagerFactory createEntityManagerFactory(String unitName,Map map) {
   registerCibetDriver();

   PersistenceUnitInfo info = createPersistenceUnitInfo(unitName);
   if (info == null) {
      log.info("no persistence unit found with name " + unitName);
      return null;
   }

   if (getClass().getName().equals(info.getPersistenceProviderClassName())
         || (map != null && getClass().getName().equals(map.get(PERSISTENCE_PROVIDER_PROPERTY)))) {
      log.info("create resource-local JdbcBridgeEntityManagerFactory");
      logInfo(info,map);

      return new JdbcBridgeEntityManagerFactory(resolveDataSource(info));

   } else {
      log.debug(this.getClass().getName() + " does not match provider for persistence unit " + unitName);
      return null;
   }
}
项目:cibet    文件JdbcBridgeProvider.java   
private DataSource resolveDataSource(PersistenceUnitInfo info) {
   String url = null;
   String user = null;
   String password = null;

   if (info.getProperties().containsKey(HIBERNATE_URL)) {
      url = info.getProperties().getProperty(HIBERNATE_URL);
      user = info.getProperties().getProperty(HIBERNATE_USER);
      password = info.getProperties().getProperty(HIBERNATE_PASSWORD);
      return new DefaultDataSource(url,user,password);
   }

   if (info.getProperties().containsKey(JAVAX_URL)) {
      url = info.getProperties().getProperty(JAVAX_URL);
      user = info.getProperties().getProperty(JAVAX_USER);
      password = info.getProperties().getProperty(JAVAX_PASSWORD);
      return new DefaultDataSource(url,password);
   }

   return info.getNonJtaDataSource();
}
项目:jpasecurity    文件SecurePersistenceProvider.java   
@Override
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo unitInfo,Map properties) {
    if (properties == null) {
        properties = new HashMap<String,Object>();
    } else {
        properties = new HashMap<String,Object>(properties);
    }
    PersistenceProvider nativePersistenceProvider = createNativePersistenceProvider(unitInfo,properties);
    if (nativePersistenceProvider == null) {
        return null;
    }
    EntityManagerFactory nativeFactory
        = nativePersistenceProvider.createContainerEntityManagerFactory(unitInfo,properties);
    List<String> ormXmlLocations = new ArrayList<String>(unitInfo.getMappingFileNames());
    ormXmlLocations.add(DEFAULT_ORM_XML_LOCATION);
    Class<? extends SecurityContext> securityContextType = createSecurityContextType(unitInfo,properties);
    Class<? extends AccessRulesProvider> accessRulesProviderType
        = createAccessRulesProviderType(unitInfo,properties);
    return new SecureEntityManagerFactory(unitInfo.getPersistenceUnitName(),nativeFactory,ormXmlLocations,securityContextType,accessRulesProviderType);
}
项目:jpasecurity    文件SecurePersistenceProvider.java   
private Class<? extends SecurityContext> createSecurityContextType(PersistenceUnitInfo persistenceUnitInfo,Map properties) {
    String securityContextClassName = (String)properties.get(Security_CONTEXT_PROPERTY);
    if (securityContextClassName == null) {
        securityContextClassName = (String)persistenceUnitInfo.getProperties().get(Security_CONTEXT_PROPERTY);
    }
    if (securityContextClassName == null) {
        securityContextClassName = DEFAULT_Security_CONTEXT_PROPERTY;
    }
    try {
        return (Class<? extends SecurityContext>)getClassLoader(persistenceUnitInfo)
                .loadClass(securityContextClassName);
    } catch (ClassNotFoundException e) {
        throw new PersistenceException(e);
    }
}
项目:jpasecurity    文件SecurePersistenceProvider.java   
private Class<? extends AccessRulesProvider> createAccessRulesProviderType(PersistenceUnitInfo persistenceUnitInfo,Map properties) {
    String accessRulesProviderClassName = (String)properties.get(ACCESS_RULES_PROVIDER_PROPERTY);
    if (accessRulesProviderClassName == null) {
        accessRulesProviderClassName
            = (String)persistenceUnitInfo.getProperties().get(ACCESS_RULES_PROVIDER_PROPERTY);
    }
    if (accessRulesProviderClassName == null) {
        accessRulesProviderClassName = DEFAULT_ACCESS_RULES_PROVIDER_CLASS;
    }
    try {
        return (Class<? extends AccessRulesProvider>)getClassLoader(persistenceUnitInfo)
                .loadClass(accessRulesProviderClassName);
    } catch (ClassNotFoundException e) {
        throw new PersistenceException(e);
    }
}
项目:spring-cloud-dataflow    文件SchemaGenerationTests.java   
@Test
public void generateSchemaDdlFiles() throws Exception {

    final PersistenceUnitInfo persistenceUnitInfo = fb.getPersistenceUnitInfo();
    final File tempDir = Files.createTempDirectory("scdf-sql-").toFile();
    final List<String> supportedHibernateDialects = new ArrayList<>();

    supportedHibernateDialects.add("H2");
    supportedHibernateDialects.add("Hsql");
    supportedHibernateDialects.add("MysqL5");
    supportedHibernateDialects.add("Oracle10g");
    supportedHibernateDialects.add("Postgresql94");
    supportedHibernateDialects.add("DB2");
    supportedHibernateDialects.add("sqlServer2012");

    logger.info(
        "\n\nGenerating DDL scripts for the following dialects:\n\n"
            + supportedHibernateDialects.stream().map((db) -> db + "Dialect").collect(Collectors.joining("\n")) + "\n");

    for (String supportedHibernateDialect : supportedHibernateDialects) {
        generateDdlFiles(supportedHibernateDialect,persistenceUnitInfo);
    }

    logger.info("\n\nYou can find the DDL scripts in directory: " + tempDir.getAbsolutePath() + "\n");

}
项目:Metaworks_framework    文件MergePersistenceUnitManager.java   
private PersistenceUnitInfo createPersistenceUnit(PersistenceUnitInfo mpui) throws IllegalArgumentException,SecurityException {
    InvocationHandler jpa2PersistenceUnitInfoDecorator = null;
    Class<?>[] classes = getClass().getSuperclass().getDeclaredClasses();
    for (Class<?> clz : classes) {
        if ("org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager$Jpa2PersistenceUnitInfoDecorator".equals(clz.getName())) {
            Constructor<?> constructor;
            try {
                constructor = clz.getConstructor(Class.forName("org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo"));
                constructor.setAccessible(true);
                jpa2PersistenceUnitInfoDecorator = (InvocationHandler) constructor.newInstance(mpui);
            } catch (Exception e) {
                throw new IllegalArgumentException(e);
            }
            break;
        }
    }

    PersistenceUnitInfo puiToStore = (PersistenceUnitInfo) Proxy.newProxyInstance(SmartPersistenceUnitInfo.class.getClassLoader(),new Class[] { SmartPersistenceUnitInfo.class },jpa2PersistenceUnitInfoDecorator);
    return puiToStore;
}
项目:SparkCommerce    文件MergePersistenceUnitManager.java   
private PersistenceUnitInfo createPersistenceUnit(PersistenceUnitInfo mpui) throws IllegalArgumentException,jpa2PersistenceUnitInfoDecorator);
    return puiToStore;
}
项目:owsi-core-parent    文件InterceptorAwareHibernatePersistenceProvider.java   
/**
 * 2017-05-24 · reworked from SpringHibernateJpaPersistenceProvider so that we can inject a custom
 * {@link EntityManagerFactoryBuilderImpl}; prevIoUs implementation that overrides
 * {@link InterceptorAwareHibernatePersistenceProvider#getEntityManagerFactoryBuilder} no longer works
 * as there are several paths with varIoUs arguments and the overloaded one was no longer called.
 */
@Override
@SuppressWarnings("rawtypes")
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info,Map properties) {
    return new EntityManagerFactoryBuilderImpl(new PersistenceUnitInfoDescriptor(info),properties) {
        @Override
        protected void populate(SessionFactoryBuilder sfBuilder,StandardServiceRegistry ssr) {
            super.populate(sfBuilder,ssr);

            if (InterceptorAwareHibernatePersistenceProvider.this.interceptor != null) {
                LOGGER.warn("Installing our Spring managed interceptor.");
                sfBuilder.applyInterceptor(InterceptorAwareHibernatePersistenceProvider.this.interceptor);
            }
        }
    }.build();
}
项目:javamelody    文件JpaPersistence.java   
/** {@inheritDoc} */
@SuppressWarnings("rawtypes")
@Override
public EntityManagerFactory createContainerEntityManagerFactory(final PersistenceUnitInfo info,final Map map) {
    initJpaCounter();
    final PersistenceProvider persistenceProvider = findDelegate(map);
    // on surcharge PersistenceUnitInfo.getPersistenceProviderClassName()
    // pour retourner le PersistenceProvider délégué et pas nous même
    final PersistenceUnitInfo proxiedInfo = createPersistentUnitInfoProxy(info,persistenceProvider);
    final EntityManagerFactory entityManagerFactory = persistenceProvider
            .createContainerEntityManagerFactory(proxiedInfo,map);
    if (entityManagerFactory == null) {
        return null;
    }
    return JpaWrapper.createEntityManagerFactoryProxy(entityManagerFactory);
}
项目:high-performance-java-persistence    文件AbstractJPAProgrammaticBootstrapTest.java   
@Before
public void init() {
    PersistenceUnitInfo persistenceUnitInfo = persistenceUnitInfo(getClass().getSimpleName());

    Map<String,Object> configuration = new HashMap<>();

    Integrator integrator = integrator();
    if (integrator != null) {
        configuration.put("hibernate.integrator_provider",(IntegratorProvider) () -> Collections.singletonList(integrator));
    }

    emf = new HibernatePersistenceProvider().createContainerEntityManagerFactory(
        persistenceUnitInfo,configuration
    );
}
项目:osgi.ee    文件JpaBundlechangelistener.java   
private void create(Bundle bundle,Context context) {
    Map.Entry<String,PersistenceProvider> pp = provider.get(context.deFinition.provider);
    // Do the registration of the service asynchronously. Since it may imply all kinds of
    // listening actions performed as a result of it,it may block the bundle handling.
    // However,indicate that we are in the process of the actions by
    // setting the used provider.
    context.usedProvider = pp.getKey();
    new Thread(() -> {
        synchronized (context) {
            if (context.usedProvider != null) {
                PersistenceUnitInfo info = PersistenceUnitProcessor.getPersistenceUnitInfo(bundle,context.deFinition,pp.getValue());
                context.factory = PersistenceUnitProcessor.createFactory(pp.getValue(),info);
                Hashtable<String,Object> props = new Hashtable<>();
                props.put(EntityManagerFactoryBuilder.JPA_UNIT_NAME,context.deFinition.name);
                props.put(PersistenceUnitTransactionType.class.getName(),info.getTransactionType().name());
                context.registration = bundle.getBundleContext().registerService(
                        EntityManagerFactory.class,context.factory,props);
            }
        }
    }).start();
}
项目:class-guard    文件DefaultPersistenceUnitManager.java   
public PersistenceUnitInfo obtainDefaultPersistenceUnitInfo() {
    if (this.persistenceUnitInfoNames.isEmpty()) {
        throw new IllegalStateException("No persistence units parsed from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations));
    }
    if (this.persistenceUnitInfos.isEmpty()) {
        throw new IllegalStateException("All persistence units from " +
                ObjectUtils.nullSafetoString(this.persistenceXmlLocations) + " already obtained");
    }
    if (this.persistenceUnitInfos.size() > 1) {
        return obtainPersistenceUnitInfo(this.defaultPersistenceUnitName);
    }
    PersistenceUnitInfo pui = this.persistenceUnitInfos.values().iterator().next();
    this.persistenceUnitInfos.clear();
    return pui;
}
项目:class-guard    文件PersistenceXmlParsingTests.java   
@Test
public void testMetaInfCase() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),info[0].excludeUnlistedClasses());
}
项目:class-guard    文件PersistenceXmlParsingTests.java   
@Test
public void testExample2() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),info[0].excludeUnlistedClasses());
}
项目:class-guard    文件PersistenceXmlParsingTests.java   
@Test
public void testExample3() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),info[0].excludeUnlistedClasses());
}
项目:class-guard    文件PersistenceXmlParsingTests.java   
@Test
public void testExample5() throws Exception {
    PersistenceUnitReader reader = new PersistenceUnitReader(
            new PathMatchingResourcePatternResolver(),info[0].excludeUnlistedClasses());
}
项目:mobile-starting-framework    文件HomeController.java   
/**
 * Controller method to download a ddl.
 */
@Deprecated
@SuppressWarnings({"unchecked","rawtypes"})
@RequestMapping(value = "ddl",method = RequestMethod.GET)
public void exportDatabaseSchema(HttpServletRequest request,HttpServletResponse response,Model uiModel) {
    PersistenceUnitInfo persistenceUnitInfo = getEntityManagerFactory().getPersistenceUnitInfo();

    Map jpaPropertyMap = getEntityManagerFactory().getJpaPropertyMap();
    jpaPropertyMap.put("hibernate.dialect","org.hibernate.dialect.MysqL5Dialect");
    Configuration configuration = new Ejb3Configuration().configure(persistenceUnitInfo,jpaPropertyMap).getHibernateConfiguration();

    SchemaExport schema = new SchemaExport(configuration);
    schema.setFormat(true);
    schema.setDelimiter(";");
    schema.setoutputFile("/tmp/schema.sql");
    schema.create(false,false);
}
项目:HotswapAgent    文件EntityManagerFactoryProxy.java   
/**
 * Refresh proxied factory version43 or greater.
 */
public void refreshProxiedFactoryVersion43OrGreater() {
    if (info == null) {
        currentInstance = Persistence.createEntityManagerFactory(persistenceUnitName,properties);
    } else {
        try {
            Class<?> bootstrapClazz = loadClass("org.hibernate.jpa.boot.spi.Bootstrap");
            Class<?> builderClazz = loadClass("org.hibernate.jpa.boot.spi.EntityManagerFactoryBuilder");

            Object builder = ReflectionHelper.invoke(null,bootstrapClazz,"getEntityManagerFactoryBuilder",new Class[]{PersistenceUnitInfo.class,Map.class},info,properties);

            currentInstance = (EntityManagerFactory) ReflectionHelper.invoke(builder,builderClazz,"build",new Class[]{});
        } catch (Exception e) {
            e.printstacktrace();
            LOGGER.error("Unable to reload persistence unit {}",e);
        }
    }
}
项目:HotswapAgent    文件Hibernate3JPAHelper.java   
/**
 * Creates the container entity manager factory proxy.
 *
 * @param info            persistent unit deFinition
 * @param properties            properties to create entity manager factory
 * @param original            entity manager factory
 * @return proxy of entity manager
 */
public static EntityManagerFactory createContainerEntityManagerFactoryProxy(PersistenceUnitInfo info,Map<?,?> properties,EntityManagerFactory original) {
    // ensure only once
    if (wrappedPersistenceUnitNames.contains(info.getPersistenceUnitName())){
        return original;
    }
    wrappedPersistenceUnitNames.add(info.getPersistenceUnitName());

    EntityManagerFactoryProxy wrapper = EntityManagerFactoryProxy.getWrapper(info.getPersistenceUnitName());
    EntityManagerFactory proxy = wrapper.proxy(original,info.getPersistenceUnitName(),properties);

    initPlugin(original);

    LOGGER.debug("Returning container EntityManager proxy {} instead of EntityManager {}",proxy.getClass(),original);
    return proxy;
}
项目:HotswapAgent    文件HibernatePersistenceHelper.java   
/**
 * @param info       persistent unit deFinition
 * @param properties properties to create entity manager factory
 * @param original   entity manager factory
 * @return proxy of entity manager
 */
public static EntityManagerFactory createContainerEntityManagerFactoryProxy(Object builder,PersistenceUnitInfo info,Map properties,EntityManagerFactory original) {
    // ensure only once
    if (wrappedPersistenceUnitNames.contains(info.getPersistenceUnitName()))
        return original;
    wrappedPersistenceUnitNames.add(info.getPersistenceUnitName());

    EntityManagerFactoryProxy wrapper = EntityManagerFactoryProxy.getWrapper(info.getPersistenceUnitName());
    EntityManagerFactory proxy = wrapper.proxy(builder,original,original);
    return proxy;
}
项目:HotswapAgent    文件EntityManagerFactoryProxy.java   
public void refreshProxiedFactoryVersion43OrGreater() {
    if (info == null) {
        currentInstance = Persistence.createEntityManagerFactory(persistenceUnitName,properties);
    } else {
        try {
            Class bootstrapClazz = loadClass("org.hibernate.jpa.boot.spi.Bootstrap");
            Class builderClazz = loadClass("org.hibernate.jpa.boot.spi.EntityManagerFactoryBuilder");

            Object builder = ReflectionHelper.invoke(null,e);
        }
    }
}
项目:HotswapAgent    文件EntityManagerFactoryProxy.java   
private void buildFreshEntityManagerFactory() {
    try {
        Class ejb3ConfigurationClazz = loadClass("org.hibernate.ejb.Ejb3Configuration");
        LOGGER.trace("new Ejb3Configuration()");
        Object cfg = ejb3ConfigurationClazz.newInstance();

        LOGGER.trace("cfg.configure( info,properties );");

        if (info != null) {
            ReflectionHelper.invoke(cfg,ejb3ConfigurationClazz,"configure",properties);
        }
        else {
            ReflectionHelper.invoke(cfg,new Class[]{String.class,persistenceUnitName,properties);
        }

        LOGGER.trace("configured.buildEntityManagerFactory()");
        currentInstance = (EntityManagerFactory) ReflectionHelper.invoke(cfg,"buildEntityManagerFactory",new Class[]{});


    } catch (Exception e) {
        LOGGER.error("Unable to build fresh entity manager factory for persistence unit {}",persistenceUnitName);
    }
}
项目:bundles    文件datanucleusWrapper.java   
@Override
@SuppressWarnings("unchecked")
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info,Map properties) {
    properties.put("datanucleus.jpa.addClasstransformer","false");
    properties.put("datanucleus.plugin.pluginRegistryClassName","org.datanucleus.plugin.OsgiPluginRegistry");

    info.addTransformer(new Classtransformer() {

        @Override
        public byte[] transform(ClassLoader loader,String className,Class<?> classBeingredefined,ProtectionDomain protectionDomain,byte[] classfilebuffer) throws IllegalClassFormatException {

            // Todo Auto-generated method stub
            return null;
        }
    });
    return pp.createContainerEntityManagerFactory(info,properties);
}
项目:bundles    文件HibernateBridge.java   
@Override
@SuppressWarnings("unchecked")
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info,Map properties) {
    ClassLoader prevIoUs = Thread.currentThread().getContextClassLoader();
    try {
        //
        // This is necessary to ensure the imports?
        //
        info.addTransformer(null);

        Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
        properties.put("hibernate.jdbc.use_get_generated_keys","true");
        properties.put("hibernate.hbm2ddl.auto","create");
        final EntityManagerFactory emf = pp.createContainerEntityManagerFactory(info,properties);
        return new DelegatedEntityManagerFactory(emf) {

        };
    } finally {
        Thread.currentThread().setContextClassLoader(prevIoUs);
    }
}
项目:testee.fi    文件JpaInjectionServicesImpl.java   
public ResourceReferenceFactory<EntityManager> registerPersistenceContextInjectionPoint(final String unitName) {
    LOG.debug("Creating persistence context for unit '{}'",unitName);
    final PersistenceUnitInfo unit = persistenceUnitdiscovery.findByUnitName(unitName);
    if (unit == null) {
        throw new IllegalStateException("UnkNown persistence unit: " + unitName);
    }
    final EntityManager entityManager = ProxyUtils.lazy(
            () -> getEntityManager(unit),EntityManager.class
    );
    return () -> new SimpleResourceReference<>(safeguard(entityManager));
}
项目:testee.fi    文件PlaygroundPersistenceProvider.java   
@Override
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info,Map map) {
    final EntityManagerFactory emf = mock(EntityManagerFactory.class);
    final EntityManager em = mock(EntityManager.class);
    when(emf.createEntityManager()).thenReturn(em);
    final EntityTransaction tx = mock(EntityTransaction.class);
    when(em.getTransaction()).thenReturn(tx);
    return emf;
}
项目:aries-jpa    文件AriesEntityManagerFactoryBuilder.java   
private void registerManagedService(BundleContext containerContext,PersistenceUnitInfo persistenceUnit) {
    Dictionary<String,Object> configuration = new Hashtable<String,Object>(); // NOSONAR
    configuration.put(Constants.SERVICE_PID,JPA_CONfigURATION_PREFIX + persistenceUnit.getPersistenceUnitName());
    configReg = containerContext.registerService(ManagedService.class,new ManagedEMF(this,persistenceUnit.getPersistenceUnitName()),configuration);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。