package com.github.marschall.threeten.jpa.mssql.configuration; import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; import org.springframework.context.annotation.Bean; import org.springframework.jdbc.datasource.SingleConnectionDataSource; import org.springframework.orm.jpa.JpaDialect; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect; import org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter; import org.springframework.transaction.PlatformTransactionManager; public class MssqlConfiguration { @Bean public DataSource dataSource() { SingleConnectionDataSource dataSource = new SingleConnectionDataSource(); dataSource.setSuppressClose(true); // defaults from Postgres.app // dataSource.setUrl("jdbc:sqlserver://localhost:1433;databaseName=master;user=sa;password=your_password"); dataSource.setUrl("jdbc:sqlserver://localhost:1433;databaseName=master"); dataSource.setUsername("sa"); dataSource.setPassword("Cent-Quick-Space-Bath-8"); return dataSource; } @Bean public PlatformTransactionManager txManager(EntityManagerFactory entityManagerFactory) { JpaTransactionManager transactionManager = new JpaTransactionManager(entityManagerFactory); transactionManager.setDataSource(dataSource()); transactionManager.setJpaDialect(jpaDialect()); return transactionManager; } @Bean public LocalContainerEntityManagerFactoryBean entityManager(DataSource dataSource) { LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean(); bean.setPersistenceUnitName("threeten-jpa-eclipselink-mssql"); bean.setJpaDialect(jpaDialect()); bean.setJpaVendorAdapter(new EclipseLinkJpaVendorAdapter()); bean.setDataSource(dataSource); return bean; } @Bean public JpaDialect jpaDialect() { return new EclipseLinkJpaDialect(); } }