Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- jdbc.driverClassName = org.hsqldb.jdbcDriver
- jdbc.url = jdbc:hsqldb:mem:press
- jdbc.username = user
- jdbc.password =
- hibernate.dialect=org.hibernate.dialect.HSQLDialect
- hibernate.show_sql = false
- hibernate.format_sql = false
- @Configuration
- @EnableTransactionManagement
- @PropertySource(value = { "classpath:hibernate.properties" })
- public class HibernateConfig {
- @Autowired
- private Environment environment;
- @Bean
- public EntityManagerFactory entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) {
- LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
- lef.setDataSource(dataSource);
- lef.setJpaVendorAdapter(jpaVendorAdapter);
- lef.setPackagesToScan("net.agilob.press.entity");
- return lef.getNativeEntityManagerFactory();
- }
- @Bean
- public LocalSessionFactoryBean sessionFactory() {
- LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
- sessionFactory.setDataSource(dataSource());
- sessionFactory.setPackagesToScan(new String[] { "net.agilob.press.entity" });
- sessionFactory.setHibernateProperties(hibernateProperties());
- return sessionFactory;
- }
- @Bean
- public DataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
- dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
- dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
- dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
- return dataSource;
- }
- private Properties hibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
- properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
- properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
- properties.put("hibernate.hbm2ddl.auto", environment.getRequiredProperty("create-drop"));
- return properties;
- }
- @Bean
- @Autowired
- public HibernateTemplate getHibernateTemplate(SessionFactory sessionFactory) {
- HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory);
- return hibernateTemplate;
- }
- @Bean
- @Autowired
- public HibernateTransactionManager transactionManager(SessionFactory s) {
- HibernateTransactionManager txManager = new HibernateTransactionManager();
- txManager.setSessionFactory(s);
- return txManager;
- }
- }
- @Configuration
- @ComponentScan(basePackages = "net.agilob.press.entity")
- @EnableJpaRepositories(basePackages = "net.agilob.press.entity.repository")
- @Import(HibernateConfig.class)
- public class AppConfig {
- @Bean
- public PostService getPostService() {
- return new PostService();
- }
- }
- @RunWith(SpringJUnit4ClassRunner.class)
- @ContextConfiguration(classes = AppConfig.class, loader = AnnotationConfigContextLoader.class)
- @Transactional
- public class PostDAOTest {
- @Autowired
- private PostService postService;
- @Before
- public void setUp() {
- Post post = new Post();
- post.setContent("body");
- post.setDescription("description");
- post.setIntroduction("introduction");
- post.setTitle("title");
- post.setTitleBrowser("title browser");
- postRepository.save(post);
- }
- @Test
- public void testList() {
- // checks if spring wiring was correct
- assertNotNull("Problem with spring beans", postRepository);
- assertFalse(postRepository.findTop10ByTitleOrderByIdAsc().isEmpty());
- }
- }
- @Service("postService")
- @Transactional
- public class PostService {
- @Autowired
- private PostRepository postRepository;
- ...
- }
- public interface PostRepository extends BaseRepository<Post, Long> {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement