Hibernate --- hibernate.cfg.xml核心配置文件详解

2023-10-31

一、Hibernate配置文件加载流程

(1) 通过Configuration config = new Configuration().configure();加载默认配置文件



(2)Configuration的configure()方法



注意:hibernate默认加载的文件hibernate.cfg.xml



(3)调用StandardServiceRegistryBuilder的configure(String resource)方法



通过Hibernate的org.hibernate.boot.cfgxml.internal.ConfigLoader加载XML配置文件




二、hibernate.cfg.xml

该文件也是Hibernate框架自动加载的默认配置文件,主要用于配置数据库连接信息,以及持久类的映射文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	
	<session-factory>
		
		<!-- 配置关于数据库连接的四个项 driverClass url username password -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernateTest</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">root</property>


		<!-- 设置连接提供者 -->
		<!-- <property name="hibernate.connection.provider_class">
					org.hibernate.connection.C3P0ConnectionProvider
			 </property> -->
		<!-- c3p0连接池的配置 -->
		<!-- <property name="hibernate.c3p0.max_size">20</property> --> <!-- 最大连接池 -->
		<!-- <property name="hibernate.c3p0.min_size">5</property> --> <!-- 最小连接数 -->
		<!-- <property name="hibernate.c3p0.timeout">120</property> --> <!-- 超时 -->
		<!-- <property name="hibernate.c3p0.idle_test_period">3000</property> --> <!-- 空闲连接 -->

		<!-- 可以将向数据库发送的sql显示出来 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 格式化sql -->
		<property name="hibernate.format_sql">true</property>

		<!-- hibernate的方言 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

		<!-- 自动创建表 -->
		<property name="hibernate.hbm2ddl.auto">update</property>

		<!-- 用于设置事务提交方式 -->
		<property name="hibernate.connection.autocommit">false</property>
		
		<!-- 配置hibernate的映射文件所在位置 -->
		<mapping resource="com/hibernate/domain/Customer.hbm.xml" />
	</session-factory>

</hibernate-configuration>	


三、property属性参数详解

3.1 杂项设置

3.1.1 hibernate.dialect

一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect


3.1.2 hibernate.show_sql

输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log category设为debug。 取值 true | false


3.1.3 hibernate.format_sql

在log和console中打印出更漂亮的SQL。 取值 true | false


3.1.4 hibernate.default_schema

默认的数据库。例如:如果设置为pubs,则生成SQL语句时,所有的数据库表前都会出现pubs字样,可能生成如下的SQL语句:select id,name,sex form pubs.UserInfo(其中UserInfo是数据库pubs的表,id、name、sex是表UserInfo中的3个字段)


3.1.5 hibernate.default_catalog

在生成的SQL中, 将给定的catalog附加于非全限定名的表名上. 取值 CATALOG_NAME


3.1.6 hibernate.session_factory_name

SessionFactory创建后,将自动使用这个名字绑定到JNDI中. 取值 jndi/composite/name


3.1.7 hibernate.max_fetch_depth

为单向关联(一对一, 多对一)的外连接抓取(outer join fetch)树设置最大深度. 值为0意味着将关闭默认的外连接抓取. 取值 建议在0到3之间取值


3.1.8 hibernate.default_batch_fetch_size

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate --- hibernate.cfg.xml核心配置文件详解 的相关文章

  • 如何使用 Java 中的 Web 服务(例如 Axis2)发送复杂对象的数组或集合?

    我对 SOAP Web 服务还比较陌生 虽然我完成了一些较小的 Web 服务项目 但我偶然从来不需要返回 或用作参数 复杂 对象的数组或集合 当我尝试这样做时 根据我的 SOAP 绑定风格 我会得到不同的奇怪行为 当我使用RPC 文字 我可
  • 在文本文件中写入多行(java)

    下面的代码是运行命令cmd并使用命令行的输出生成一个文本文件 下面的代码在 Eclipse 的输出窗口中显示了正确的信息 但在文本文件中只打印了最后一行 谁能帮我这个 import java io public class TextFile
  • 插入最大日期(独立于数据库)

    在我的本地设置中 我使用一个简单的 H2 数据库 托管 解决方案将有另一个 类似但不相同 数据库 我需要将最大可能日期插入到日期时间列中 我尝试使用 Instant MAX 但是 这会导致列中出现 169104626 12 11 20 08
  • 是什么决定了从 lambda 创建哪个函数式接口?

    请考虑这个例子 import java util function Consumer public class Example public static void main String args Example example new
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • 当从服务类中调用时,Spring @Transactional 不适用于带注释的方法

    在下面的代码中 当方法内部 是从内部调用的方法外部 应该在交易范围内 但事实并非如此 但当方法内部 直接从调用我的控制器class 它受到事务的约束 有什么解释吗 这是控制器类 Controller public class MyContr
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • hibernate锁等待超时超时;

    我正在使用 Hibernate 尝试模拟对数据库中同一行的 2 个并发更新 编辑 我将 em1 getTransaction commit 移至 em1 flush 之后我没有收到任何 StaleObjectException 两个事务已成
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • hashcode 的默认实现为以相同方式构造的对象返回不同的值

    我在这里编写一个示例代码 public class Test private int i private int j public Test TODO Auto generated constructor stub public Test
  • 如何修复:“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件间接引用的”消息? [复制]

    这个问题在这里已经有答案了 我正在尝试使用这个字符串 amountStr amountStr replace replace replace 但我收到一条错误消息 我知道我收到的错误消息是因为我刚刚发布的字符串已过时 所以我想知道该字符串的

随机推荐

  • 计算机网络基础--互联网组成

    目录 互联网的边缘部分 通信方式 C S方式 通信方式 P2P方式 互联网的核心部分 电路交换 分组交换 报文交换 三种交换比较 互联网这个词想必对于大家来说已经不陌生了 那么你能说出互联网是由什么组成的吗 既然要步入互联网行业 那就应该知
  • 基于flowplayer的视频缩略图的视频预览

    大家在平时观看视频的视频网站中 比如优酷 爱奇艺 腾讯视频等 鼠标移动至播放条区域的时候 大家可以看到会弹出小的视频预览图片 这样子就可以给用户很好体验 至少可以知道前后播放的内容 最近公司业务需要 就不得不研究了 本文将从三个方面进行总结
  • 【OpenCV实战】这是我看过最详细的计算机视觉小项目,基于OpenCV进行长时间曝光,学到了~(赶紧收藏)

    前言 在本文中 我们将学习长时间曝光摄影技术 以及如何使用Python和OpenCV 开源计算机视 觉库 对其进行仿真 作者 程序员梨子 文章源码免费获取 为了感谢每一个关注我的小可爱 每篇文章的项目源码都是无偿分享滴 点下面找我获取完整资
  • matlab @函数_用MATLAB绘制正弦函数的图形

    用MATLAB正确地绘制正弦函数的图形 从中你会发现许多技术细节问题 一些抽象的理论问题 你可以在实践中得以启发 close all clear n 64 x 0 2 pi n 2 pi x x 1 n y sin x figure ste
  • Fastjson1.2.24-RCE 漏洞复现(CVE-2017-18349)

    0x01 漏洞简介 fastjson是阿里巴巴的开源JSON解析库 它可以解析JSON格式的字符串 支持将Java Bean序列化为JSON字符串 也可以从JSON字符串反序列化到JavaBean 即fastjson的主要功能就是将Java
  • 若依Vue(若依前后端分离版)--01

    该文章整理于网络 仅用于学习记录 如有侵权 请联系删除 介绍 RuoYi Vue 是一个 Java EE 企业级快速开发平台 基于经典技术组合 Spring Boot Spring Security MyBatis Jwt Vue 内置模块
  • 谷歌云

    本文由Cloud Ace整理发布 Cloud Ace是谷歌云全球战略合作伙伴 拥有 300 多名工程师 也是谷歌最高级别合作伙伴 多次获得 Google Cloud 合作伙伴奖 作为谷歌托管服务商 我们提供谷歌云 谷歌地图 谷歌办公套件 谷
  • git分支回滚

    查看变更日志 git log 本地强制切换到该版本 git reset hard 297fe962d73db278c254ef0f7dce67d888deadef 强制提交同步远程 git push f origin dev mm 2022
  • Mac 11 + Typora + Picgo-core + Gitee 配置自动图片上传

    Typora 是个很方便的编辑器 但是插入图片的时候默认是本地 不方便迁移分享 如果插入的图片能够自动 上云 也就是给图片一个公网可查询的链接 那么 markdown 文档迁移分享就不怕丢失图片了 为了网络等方便 我选 Gitee 其他云仓
  • 数据集市的概念

    目录 一 数据集市简介 1 1 数据集市与数据仓库 二 数据集市的类型 2 1 依赖数据仓库 2 2 独立数据集市 2 3 混合数据集市 三 数据集市的特点 四 实施数据集市的步骤 一 数据集市简介 数据集市就是企业级数据仓库的一个子集 它
  • Linux应用开发基础

    一 安装Pocy交叉编译工具链 将fsl imx x11 glibc x86 64 metatoolchain qt5 cortexa7hf neon toolchain 4 1 15 2 1 0 sh 拷贝到 Ubuntu 虚拟机 修改使
  • 用群晖NAS搭建个人音乐库

    安装教程 勾选启动NTP服务 1 群晖安装Audio Station 2 filestation会生成一个music文件夹 把下载好的音乐丢进music即可 音乐平台听不到的歌也顺带通过下载解决了 这时候你就可以在audio station
  • No.7软件需求规格说明书及UML

    软件需求规格说明书 SRS 是需求开发活动的产物 编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解 使之成为整个开发工作的基础 软件需求规格说明书 国家标准BG T 8567 2006中 提供了SRS的文档模版和编写
  • 微信公众号第三方登录,简单易懂

    1 准备工作 1 登录微信公众号接口测试平台设置信息 地址 http mp weixin qq com debug cgi bin sandbox t sandbox login 登录成功后可以看到测试用的appid和appsecret 这
  • Premiere Pro cc 2019 全面使用教程(非常简单)

    视频剪辑工具 对于youtuber vloger 抖音播客都是必不可少的工具 一直关注pr终于有机会尝试一下 比较全面地记录一部短片的制作操作 一 安装 1 安装软件 2 crack 将此dll替换C Program Files Adobe
  • 如何微调医疗大模型llm:llama2学习笔记

    三个微调方向 简单医疗问答 临床问答 影像学 一般流程 1 数据集准备 2 模型基座选择 3 微调 4 案例拆解 1 数据集准备 两种类型 一种文本一种影像 扩展 多模态 2 模型基座选择 多模态处理所有视频 文本 数字人将会受到威胁 数字
  • 21款网页版html5小游戏源码

    html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载
  • Arduino简单实例之三_土壤湿度传感器

    1 说明 用于土壤的湿度检测 可通过电位器调节土壤湿度的阀值 顺时针调节 控制的湿度会越大 逆时针越小 湿度低于设定值时 DO输出高电平 模块提示灯亮 湿度高于设定值时 DO输出低电平 模块提示灯灭 工作电压3 3V 5V 3V时 在空气中
  • 2023年新自采集壁纸网页源码+简约大气

    正文 一款壁纸网页源码 但这款源码是有网友改了一下接口 但还是挺不错的 有兴趣的可以自己去搭建体验 我也搭建了演示站 感觉挺行 界面美观大气 壁纸也很多 类型也比较多 程序 wwidsu lanzout com i3ZHQ0f7dqli 图
  • Hibernate --- hibernate.cfg.xml核心配置文件详解

    一 Hibernate配置文件加载流程 1 通过Configuration config new Configuration configure 加载默认配置文件 2 Configuration的configure 方法 注意 hibern