zoukankan      html  css  js  c++  java
  • 十八、springboot中hibernate配置sessionFactory访问数据库

    前提

      在yml或properties文件中配置数据库与数据库连接池

    Hibernate配置

    几种方式:

    方式一:

    @Configuration
    public class HibernateConfig {
        
        @Bean
        public SessionFactory sessionFactory(@Qualifier("entityManagerFactory") EntityManagerFactory emf){
             return emf.unwrap(SessionFactory.class);
         }
    
    }

    方式二:

    @Autowired
    private EntityManagerFactory entityManagerFactory;
    
    @Bean
    public SessionFactory getSessionFactory() {
        if (entityManagerFactory.unwrap(SessionFactory.class) == null) {
            throw new NullPointerException("factory is not a hibernate factory");
        }
        return entityManagerFactory.unwrap(SessionFactory.class);
    }

    方式三:

      在属性配置文件中配置(可有可无)

      spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext

    @Bean
    public HibernateJpaSessionFactoryBean sessionFactory() {
        return new HibernateJpaSessionFactoryBean();
    }

    方式四:

      在属性配置文件中配置(可有可无)

      spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext

    @Bean
    public SessionFactory sessionFactory(HibernateEntityManagerFactory hemf) {
        return hemf.getSessionFactory();
    }

    调用

    @Autowired
    private SessionFactory sessionFactory;
  • 相关阅读:
    CodeForces
    [AHOI 2013] 差异
    BZOJ
    [校内训练20_09_15]ABC
    [校内训练20_09_10]ABC
    [校内训练20_09_08]AC
    fastIO
    [校内训练20_06_05]ABC
    [校内训练20_06_04]ABC
    [校内训练20_06_03]ABC
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/9052471.html
Copyright © 2011-2022 走看看