@Configuration
@PropertySource("classpath:db.properties")
@EnableTransactionManagement
@ComponentScans(value = {
@ComponentScan("com.boraji.tutorial.spring.dao"),
@ComponentScan("com.boraji.tutorial.spring.service")
})
public class AppConfig {
@Autowired
private Environment env;
@Bean
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(env.getProperty("db.driver"));
dataSource.setUrl(env.getProperty("db.url"));
dataSource.setUsername(env.getProperty("db.username"));
dataSource.setPassword(env.getProperty("db.password"));
return dataSource;
}
@Bean
public LocalSessionFactoryBean getSessionFactory() {
LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean();
factoryBean.setDataSource(getDataSource());
Properties props=new Properties();
props.put("hibernate.show_sql", env.getProperty("hibernate.show_sql"));
props.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
factoryBean.setHibernateProperties(props);
factoryBean.setAnnotatedClasses(User.class);
return factoryBean;
}
@Bean
public HibernateTransactionManager getTransactionManager() {
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(getSessionFactory().getObject());
return transactionManager;
}
}
Full Example:
https://www.boraji.com/spring-4-hibernate-5-integration-example-with-zero-xml
Note;
Add Annotated Class in Hibernate by adding all classes in some package. JAVA
You can use LocalSessionFactoryBuilder for building session factory that enables you to specify scanPackages property.
SessionFactory sessionFactory = new LocalSessionFactoryBuilder(hikariDataSource())
.scanPackages("com.animals.entities")
.addProperties(properties)
.buildSessionFactory();
@PropertySource("classpath:db.properties")
@EnableTransactionManagement
@ComponentScans(value = {
@ComponentScan("com.boraji.tutorial.spring.dao"),
@ComponentScan("com.boraji.tutorial.spring.service")
})
public class AppConfig {
@Autowired
private Environment env;
@Bean
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(env.getProperty("db.driver"));
dataSource.setUrl(env.getProperty("db.url"));
dataSource.setUsername(env.getProperty("db.username"));
dataSource.setPassword(env.getProperty("db.password"));
return dataSource;
}
@Bean
public LocalSessionFactoryBean getSessionFactory() {
LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean();
factoryBean.setDataSource(getDataSource());
Properties props=new Properties();
props.put("hibernate.show_sql", env.getProperty("hibernate.show_sql"));
props.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
factoryBean.setHibernateProperties(props);
factoryBean.setAnnotatedClasses(User.class);
return factoryBean;
}
@Bean
public HibernateTransactionManager getTransactionManager() {
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(getSessionFactory().getObject());
return transactionManager;
}
}
Full Example:
https://www.boraji.com/spring-4-hibernate-5-integration-example-with-zero-xml
Note;
Add Annotated Class in Hibernate by adding all classes in some package. JAVA
You can use LocalSessionFactoryBuilder for building session factory that enables you to specify scanPackages property.
SessionFactory sessionFactory = new LocalSessionFactoryBuilder(hikariDataSource())
.scanPackages("com.animals.entities")
.addProperties(properties)
.buildSessionFactory();
No comments:
Post a Comment