【Hibernate】Hibernate.cfg.xml配置文件详解

2023-10-26

Hibernate配置文件主要用于配置数据库连接和Hibernate运行所需的各种属性,个配置文件应该位于用程序或Web程序的文件 classes中。Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用“=”的形式。建采用xml格式的配置文件。xml配置文件可以直接映射文件行配置,并由Hibernate,而properties文件在程序中通过编码映射文件。

 

注意:hibernate的前可以省略,即:hibernate.dialect等同于dialect

属性名

属性含义极其作用

hibernate.dialect

配置Hibernate数据库方言,Hibernate可针对特殊的数据库进行优化

hibernate.show_sql

是否把Hibernate运行时的SQL语句输出到控制台,项目编码期间设置为true便于调试,项目部署完毕设置为false加快程序运行

hibernate.format_sql

是否优化在日志和控制台输出的SQL语句,如果设置为true,在Hibernate运行输出到控制台的SQL语句排版清晰,更便于阅读。建议设置为true

hibernate.default_schema

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

hibernate.session_factory_name

SessionFactory创建后,自动在JNDI中绑定这个名字

hibernate.max_fetch_depth

对“一对一”,“一对多”的外联接设置抓取最大深度,推荐值在0-3,如果为0则关闭外连接抓取

hibernate.default_batch_fetch_size

设置Hibernate关联的默认批量抓取数量

hibernate.default_entity_mode

为在SessionFactory中打开的所有Session,设置默认的实体表现模式,可选值:dynamic-map,dom4j,pojo

hibernate.order_updates

强迫Hibernate利用主键值对将要更新的字段进行排序。在高并发量的系统里,设置此项为true将减少事务死锁

hibernate.generate_statistics

如果设置为trueHibernate将收集对性能调整有用的统计信息

hibernate.use_identifer_rollback

如果设置为true,如果表中的所有数据被删除,主键标识符将被重置,即数据库中的自动增长字段将重新从设定的值开始

hibernate.use_sql_comments

如果为了防表调试,可设置为trueHibernate将在生成SQL语句中产生注释,默认为false

注意:注属性,发时经常用到是属性

属性名

属性含义极其作用

hibernate.jdbc.fetch_size

JDBC每次从表取出并放到Statement的记录条数,必须为非0(可在程序中调用Statement.setFetchSize()进行设置)

hibernate.jdbc.batch_size

设置Hibernate利用JDBC2的批量插入、删除和更新时每次操作的记录数。推荐值为530,不能为0

hibernate.jdbc.batch_versioned_data

设置为true,当调用executeBatch()时,JDBC能返回正确的行数。Hibernate将为自动版本化的数据使用批量DML。默认为false

hibernate.jdbc.factory_class

设置一个自定制的Batcher。大多数程序不用设置此属性

hibernate.jdbc.use_scrollable_resultset

如果设置为true,将启用JDBC2的可滚动结果集,当使用用户提供的JDBC连接时,这个选项可设置为true,否则Hibernate将使用连接的元数据

hibernate.jdbc.use_streams_for_binary

这个是系统级属性。当从JDBC读写二进制或可序列化的数据类型时,使用Stream。可选值:true,false

hibernate.jdbc.use_get_generated_keys

设置为true,当插入数据到表中后,利用JDBC3PreparedStatement.getGeneratedkeys()来检索插入后生成的键值。需要JDBC3以上的驱动程序和JRE1.4以上的版本。如果Hibernate在生成标识符时出问题,设置此项为false。默认情况下,利用连接的元数据判断数据库驱动程序是否具有此能力

hibernate.connection.provider_class

提供给Hibernate的用户自定义ConnectionProvider类,这个类用来向Hibernate提供JDBC连接

hibernate.connection.isolation

设置JDBC事务隔离级别。检查java.sql.Connection决定各个值的含义。大多数数据库不制止所有的隔离级别,在多用户并发访问量大的情况下,这个选项的设置尤为重要

hibernate.connection.autocommit

JDBC连接池重点连接开启自动提交(不推荐开启此选项),可选值:truefalse

hibernate.connection.release_mode

指定Hibernate何时释放JDBC连接,默认情况下,JDBC保持连接状态直到session显式关闭或断开。对于应用服务器JTA数据源,应该调用after_statement,以便每次JDBC调用后积极的释放连接;对于非JTA连接,使用after_transaction可在事务结束时释放连接。如果设置为auto,对于JTACMT事务策略将选用after_statement,对于JDBC事务策略将选用after_transaction

hibernate.use_sql_comments

如果为了防表调试,可设置为trueHibernate将在生成SQL语句中产生注释,默认为false

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

【Hibernate】Hibernate.cfg.xml配置文件详解 的相关文章

随机推荐

  • clickhouse 数据模型之有序漏斗分析(windowFunnel)

    什么是有序漏斗 有序漏斗需要满足所有用户事件链上的操作都是逡巡时间先后关系的 且漏斗事件不能有断层 触达当前事件层的用户也需要经历前面的事件层 介绍 windowFunnel 搜索滑动时间窗中的事件链 并计算从链中发生的最大事件数 该函数采
  • vs2010 内置了可应用于流的utf8和utf16的编码

    std wifstream is is open T E utf8 txt std ios base binary UTF 8编解码的关健代码 is imbue std locale std locale classic new std c
  • TCP/IP常见面试问题

    TCP IP常见面试问题 1 OSI七层协议以及四层协议 实际使用时只包含四层协议 从上到下依次是 应用层 http 传输层 tcp udp 网络层 ip 网络接口层 以太网协议 2 在网络中具体的传输过程 从上图可见传输的数据每经过一层
  • 【毕业论文】

    博客主页 肩匣与橘 欢迎点赞 收藏 留言 如有错误敬请指正 本文由肩匣与橘编写 首发于CSDN 生活依旧是美好而又温柔的 你也是 基于Unity3D引擎的冒险游戏的设计与实现 前言 摘要 Abstract 1 绪论 1 1 选题背景 1 2
  • rust物品图标_《腐蚀rust》全新XP建造系统图文介绍

    腐蚀rust 全新XP建造系统图文介绍 2016 06 23 15 05 28来源 贴吧编辑 评论 0 腐蚀rust 出了一个新的建造系统 XP建造系统 小编带来相关介绍 一起看一下吧 XP系统在测试服不断的更新完善 现在已经有了比较清晰的
  • 【docker】docker学习(4)——docker-compose常用语法与编写实战

    大家好 我是好学的小师弟 今天和大家分享下docker compose的一些常用语法和编写实战 docker compose是一个二进制文件 我们通常都是通过github把它下载下来 然后给他执行的权限 下载docker compose 在
  • 服务器中激活刚安装好的anaconda

    在服务器安装anaconda的过程中 最后一步是初始化 选择yes 然后在命令行输入conda info envs 发现conda not found 是因为conda环境未激活 此时直接输入source bashrc 即可成功激活环境 一
  • element-ui表格+分页器数据分页展示

  • SpringBoot从0到实战8:简单使用Swagger生成接口开发文档

    初识Swagger Swagger 是一个规范和完整的框架 广泛用于生成 描述 调用和可视化 RESTful 风格的 Web服务 总体目标是使客户端和文件系统作为服务器以相同速度更新 文件的方法 参数和模型紧密集成到服务器端的代码 允许AP
  • 测量学4_距离测量

    测量学 lesson 4 距离测量是确定地面点位时的基本测量工作之一 距离测量的方法有钢尺量距 视距测量和电磁波测距等 距离测量 钢尺量距 利用卷钢尺直接沿地面丈量距离 受地形影响较大 仅用于平坦地区的近距离测量 地面上两点之间距离较远时
  • Windbg+VMware双机调试/1394/串口/常见问题处理+下载符号文件离线包

    目录 1 调试工具VisualDDK 2 Vista以下的版本系统设置 3 Vista以上的版本系统设置 4 1394火线调试 5 使用串口线双机调试 6 调试过程中出现的问题及解决方案 7 快速下载符号文件离线包 1 调试工具Visual
  • SQL IF语句实际应用--返回输出

    SQL IF语句输出 SQL IF语句我们有时会用到用到这个通常是对某个属性进行判断操作 类似我们编程那种三元表达式一样 但有时候业务上不会让你去简简单单去判断操作 还会让你把结果返回过去 通过接口展示出去在前端 你写一个带有if的查询结果
  • B tree、B- tree、B+ tree、B*tree

    目录 1 B tree B tree 2 B tree B 树 2 1为什么需要B 树 B 树比B树更好呢 2 1数据库索引采用B 树的主要原因 3 B tree B 树 4 小结 1 B tree B tree B树 B tree 是一种
  • Pytorch-GPU配置

    自己电脑Window 10下pytorch GPU的配置 CUDA 10 1 cuDNN v7 6 4 pytorch 1 4 参考 1 Windows10安装cuda cudnn pytorch jupyter fastai 2 wind
  • C#系列-基础

  • 理解广度优先遍历(持续更新)

    文章的目录如下方便翻阅 广度优先搜索 BFS 如何实现广度优先搜索 简单的描述广度优先搜索的大致过程 下面结合例题理解广度优先搜索 广度优先遍历在树中的应用 广度优先遍历在数组中的应用 last 广度优先搜索 BFS 如何理解广度优先搜索
  • 传统图像处理算法总结

    1 图像滤波 目的 保证图像细节特征的条件下抑制图像噪声 1 1 线性滤波 1 11 方框滤波 原图像与内核的系数加权求和 方框滤波的核 normalize true 时 方框滤波就变成了均值滤波 也就是说 均值滤波是方框滤波归一化 nor
  • 【Java】【排序算法】【冒泡排序】(代码示例)

    文章目录 冒泡排序概念 冒泡排序的实现步骤如下 以下是冒泡排序的Java实现代码 总结 冒泡排序概念 冒泡排序 Bubble Sort 是一种简单的排序算法 它重复地遍历待排序的列表 每次比较相邻的两个元素 并交换它们的位置 直到整个列表排
  • Docker 如何保存对容器的修改

    1 docker ps 查看正在运行的容器 2 docker exec it d81abcfd2e3b bash 进入正在运行的容器内 3 进入容器后 就可以修改镜像了 比如修改镜像中已经部署的代码或者安装新的软件或包等 修改完成之后 ex
  • 【Hibernate】Hibernate.cfg.xml配置文件详解

    Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性 这个配置文件应该位于应用程序或Web程序的类文件夹 classes中 Hibernate配置文件支持两种形式 一种是xml格式的配置文件 另一种是Ja