【Hibernate】Re06 专题指南内容

关于SessionFactory获取的两种注册类对象的提供方式:

https://docs.jboss.org/hibernate/orm/5.4/topical/html_single/bootstrap/NativeBootstrapping.html

简单来说分两种主要的服务注册类,除此外还支持了元数据方式注入信息进行创建

 

符合JPA规范的引导方式:

https://docs.jboss.org/hibernate/orm/5.4/topical/html_single/bootstrap/JpaBootstrapping.html

非常有意思,居然是像Spring自动装配一样提供了@PersistenceUnit注解进行注入实现,但是并没有提及具体的实现

 

这里还规定了生成的方式:

https://docs.jboss.org/hibernate/orm/5.4/topical/html_single/generated/GeneratedValues.html

 

数据源配置

数据源配置,默认使用Jdbc,也可以使用C3P0

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>5.4.21.Final</version>
</dependency>

加入c3p0的配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 基本链接参数 -->
        <property name="connection.url">jdbc:mysql://ip:port/hibernate?serverTimezone=Asia/Shanghai</property>
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">password</property>

        <property name="dialect">org.hibernate.dialect.MySQL57Dialect</property> <!-- 数据库版本方言 -->
        <property name="show_sql">true</property> <!-- 是否让控制台输出SQL语句 -->
        <property name="format_sql">true</property> <!-- 控制台输出的SQL格式化 -->
        <property name="hbm2ddl.auto">update</property> <!-- 数据库表的生成策略 -->

        <!-- c3p0数据源配置 -->
        <property name="hibernate.c3p0.max_size">10</property>
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.idle_test_period">2000</property>
        <property name="hibernate.c3p0.timeout">2000</property>

        <mapping resource="hibernate/mapping/News.hbm.xml" /> <!-- 实体类映射XML路径 -->
        <mapping class="cn.zeal4j.domain.User" /> <!-- 使用注解的配置方式 -->
    </session-factory>

</hibernate-configuration>

 

posted @ 2020-09-24 00:42  emdzz  阅读(1636)  评论(0)    收藏  举报