Spring Boot 整合 Hibernate5


Run

java -jar -Dspring.profiles.active=dev sport.web.services.jar

Maven

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
</parent>

SessionFactory

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.jpa.vendor.HibernateJpaSessionFactoryBean;

@Configuration
public class JpaSessionConfig {

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

bootstrap.yml

spring:
  application:
    name: sport_native_service
  profiles:
    active: dev

application-dev.yml

spring:
  jpa:
    database: MYSQL
    # 是否顯示HQL
    show-sql: false
    hibernate:
      # Entity與數據庫表名對應
      naming.physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    properties:
      javax:
        persistence:
          sharedCache:
            mode: ENABLE_SELECTIVE
      hibernate:
        # 數據庫方言
        dialect: org.hibernate.dialect.MySQL5Dialect
        # 是否顯示統計信息
        generate_statistics: flase 
        # Hibernate二級緩存和Query緩存
        cache: 
          # 二級緩存
          use_second_level_cache: true
          # Query 緩存
          use_query_cache: true
          region:
            # 使用Ehcache
            factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
        # Spring Boot 整合Hibernate
        current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
        # 批處理
        jdbc.batch_size: 50
  messages:
    basename: locale/messages
    cache-seconds: 3600
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
app:
  cache:
    redis:
      host: ham.leadadvancetech.com
      port: 6379
  limit-validation:
    cache:
      expire: 7200
  # 數據源
  datasource:
    master:
      url: jdbc:mysql://ham.leadadvancetech.com:3306/db_theonex?autoReconnect=true&useSSL=false
      username: java
      password: theonex666
      driverClassName: com.mysql.jdbc.Driver
      testWhileIdle: true
      validationQuery: SELECT 1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM