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.ipet.server.config; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; import org.apache.tomcat.jdbc.pool.DataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.orm.jpa.JpaVendorAdapter; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.Database; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; /** * * @author yneos */ //@Configuration @EnableJpaRepositories public class JPAConfiguration { @Bean public BasicDataSource dataSource() { BasicDataSource ds = new org.apache.commons.dbcp.BasicDataSource(); ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUrl("jdbc:mysql://localhost:3306/ipet?useUnicode=true&characterEncoding=UTF-8"); ds.setUsername("root"); ds.setPassword(""); return ds; /* DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/awp"); dataSource.setUsername("root"); dataSource.setPassword("password"); return null; */ } @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) { LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean(); lef.setPersistenceUnitName("default"); lef.setPackagesToScan("com.ipet.server"); lef.setDataSource(dataSource); lef.setJpaVendorAdapter(jpaVendorAdapter); lef.setJpaProperties(getJpaProperties()); //return lef; return null; } @Bean public JpaVendorAdapter jpaVendorAdapter() { HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter(); jpaVendorAdapter.setDatabase(Database.MYSQL); jpaVendorAdapter.setGenerateDdl(true); jpaVendorAdapter.setShowSql(true); jpaVendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQL5Dialect"); //return jpaVendorAdapter; return null; } private Properties getJpaProperties() { return new Properties() { { setProperty("hibernate.hbm2ddl.auto", "update"); setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); setProperty("hibernate.show_sql", "true"); setProperty("hibernate.format_sql", "true"); setProperty("hibernate.connection.charSet", "UTF-8"); setProperty("hibernate.jdbc.use_streams_for_binary", "true"); setProperty("hibernate.hbm2ddl.import_files_sql_extractor", "org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor"); } }; } }