zoukankan      html  css  js  c++  java
  • Hibernate5+Spring4整合

    (1) pom.xml

     1 <!--Spring Object/Relational Mapping -->
     2 <dependency>
     3     <groupId>org.springframework</groupId>
     4     <artifactId>spring-orm</artifactId>
     5     <version>xxx</version>
     6 </dependency>
     7 <!--Hibernate Core -->
     8 <dependency>
     9     <groupId>org.hibernate</groupId>
    10     <artifactId>hibernate-core</artifactId>
    11     <version>xxx</version>
    12 </dependency>

    (2) hibernate.cfg.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE hibernate-configuration PUBLIC
     3         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     5 <hibernate-configuration>
     6     <session-factory>
     7         <!-- SQL 方言(e.g. MySQL) -->
     8         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
     9         <!-- show_sql: 操作数据库时,会 向控制台打印sql语句 -->
    10         <property name="show_sql">true</property>
    11         <!-- format_sql: 打印sql语句前,会将sql语句先格式化 -->
    12         <property name="format_sql">true</property>
    13         <!-- 将Session与线程绑定。只有配置了该配置,才能使用getCurrentSession -->
    14         <!-- 使用spring管理事务[org.springframework.orm.hibernate3.SpringSessionContext]管理事务时,不能设定 -->
    15         <!-- <property name="hibernate.current_session_context_class">thread</property> -->
    16         <!-- hbm2ddl.auto: 生成表结构的策略配置 update(最常用): 如果当前数据库中不存在表结构,那么自动创建表结构. 如果存在表结构,并且表结构与实体一致,那么不做修改 
    17             如果存在表结构,并且表结构与实体不一致,那么会修改表结构.会保留原有列. create(很少):无论是否存在表结构.每次启动Hibernate都会重新创建表结构.(数据会丢失) 
    18             create-drop(极少): 无论是否存在表结构.每次启动Hibernate都会重新创建表结构.每次Hibernate运行结束时,删除表结构. 
    19             validate(很少):不会自动创建表结构.也不会自动维护表结构.Hibernate只校验表结构.如果表结构不一致将会抛出异常. -->
    20         <property name="hbm2ddl.auto">update</property>
    21         <!-- hibernate.connection.autocommit: 事务是否自动提交 -->
    22         <property name="hibernate.connection.autocommit">false</property>
    23         <!-- 注册实体映射类 -->
    24         <mapping class="com.xxx.xxx" />
    25     </session-factory>
    26 </hibernate-configuration>

    (3) application-domain.xml

    1 <!-- 定义Hibernate的SessionFactory -->
    2 <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" lazy-init="false">
    3     <property name="dataSource" ref="dataSource" />
    4     <property name="configLocation" value="classpath:/META-INF/hibernate/hibernate.cfg.xml"></property>
    5 </bean>
    6 <!-- 配置Spring声明式事务 -->
    7 <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    8     <property name="sessionFactory" ref="sessionFactory"></property>
    9 </bean>

    (注) dataSource请自行配置

  • 相关阅读:
    sass和compass的配置
    MAC apache配置
    js库
    Tomcat7 配置 ssl
    同一对象内的嵌套方法调用AOP失效原因分析
    Spring Boot文件无法下载问题排查过程记录
    Apache、Spring、Cglib的beancopy效率对比
    使用in作为查询条件优化SQL并使用set筛选结果集
    Java使用foreach遍历集和时不能add/remove的原因剖析
    Python爬虫实践——爬取网站文章
  • 原文地址:https://www.cnblogs.com/storml/p/7843061.html
Copyright © 2011-2022 走看看