Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.app.config; import org.springframework.orm.jpa.JpaVendorAdapter; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.Database; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter; /** * * @author User */ /* @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "appEntityManagerFactory", transactionManagerRef = "appTransactionManager", basePackages = {"com.app.jparepo"}) @EnableAutoConfiguration */ public class App2Config { @Autowired JpaVendorAdapter jpaVendorAdapter; /** * Primary because if we have activated embedded databases, we do not want * the application to connect to an external database. * * @return */ @Bean(name = "appDataSource") public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost/iivos_ap"); dataSource.setUsername("root"); dataSource.setPassword(""); return dataSource; } @Bean(name = "appEntityManager") public EntityManager entityManager() { return entityManagerFactory().createEntityManager(); } @Bean(name = "appEntityManagerFactory") public EntityManagerFactory entityManagerFactory() { LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean(); lef.setDataSource(dataSource()); EclipseLinkJpaVendorAdapter vendor = new EclipseLinkJpaVendorAdapter(); vendor.setShowSql(true); vendor.setGenerateDdl(true); vendor.setDatabase(Database.MYSQL); lef.setJpaVendorAdapter(vendor); //lef.setJpaVendorAdapter(jpaVendorAdapter); //lef.setPackagesToScan("com.app.jparepo"); //lef.setPersistenceUnitName("barPersistenceUnit"); //lef.afterPropertiesSet(); return lef.getObject(); } /* @Bean(name = "appEntityManagerFactory2") public LocalContainerEntityManagerFactoryBean entityManagerFactory2() { LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); entityManagerFactoryBean.setDataSource(dataSource()); entityManagerFactoryBean.setPersistenceUnitName("karol"); entityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter); //.setPersistenceProviderClass(HibernatePersistence.class); entityManagerFactoryBean.setPackagesToScan(); //entityManagerFactoryBean.setJpaProperties(hibProperties()); return entityManagerFactoryBean; } */ @Bean(name = "appTransactionManager") public PlatformTransactionManager transactionManager() { return new JpaTransactionManager(entityManagerFactory()); } @Bean public JpaVendorAdapter jpaVendorAdapter() { HibernateJpaVendorAdapter adaptor = new HibernateJpaVendorAdapter(); adaptor.setShowSql(false); adaptor.setGenerateDdl(false); adaptor.setDatabase(Database.MYSQL); return adaptor; } /* public static void main(String[] args) { System.out.println("AHOJ KAROL"); SpringApplication.run(App2Config.class, args); }/*/ }