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请自行配置

  • 相关阅读:
    【转】突破区块链不可能三角:异步共识组 [Monoxide]
    [转]王嘉平:Monoxide 原理详解,如何用极简架构突破不可能三角
    【转】区块链公链的 3 大性能难点、5 大体验障碍
    使用ShowDoc在线管理API接口文档
    云和恩墨大讲堂电子刊2019年4月刊发布
    墙裂推荐 | 漫画解读Elasticsearch原理,看完你就懂
    DBASK数据库提问平台问题集萃,首批近二十位专家团曝光
    WIN10安装GPU版tensorflow
    cobbler的网页操作
    cobbler的网页操作
  • 原文地址:https://www.cnblogs.com/storml/p/7843061.html
Copyright © 2011-2022 走看看