配置Hibernate之各类属性

《UE4游戏开发》之 《查cook资源失败,问题记录》 当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。 下面就材质cook出错,增加一些日志,方便查找问题做简单记录 材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat. 阅读详情

Hibernate需要进行数据库访问,因此必须设置连接数据库的相关的属性。所有Hibernate属性的名字和语义都在org.hibernate.cfg.Environment中定义。

下面是JDBC连接配置中最重要的设置

(1)hibernate.connection.driver_class:设置连接数据库驱动。

(2)hibernate.connection.url:设置所连接数据库服务的URL。

(3)hibernate.connection.username:连接数据库的用户名。

(4)hibernate.connection.password:连接数据库的密码。

(5)hibernate.connection.pool_size:设置hibernate数据库连接池的最大并发连接数。

(6)hibernate.dialect:设置数据库连接所使用的方言。

如果在hibernate.cfg.xml或者hibernate.properties文件中设置如上属性,Hibernate将处理底层数据库连接细节。Hibernate自带的连接池只有测试价值,并不推荐在实际项目中使用。实际项目中可以使用C3P0或者Proxool连接池,为了使用C3P0或者Proxool连接池,只需要用这些连接池配置代替hibernate.connection.pool_size配置属性即可。


Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有的关系型数据库都支持使用标准的 SQL语句,但是所有的数据库都对标准的SQL语句进行了一定的扩展,所以在一些语法细节上存在着一些差异,所以Hibernate需要根据数据库来识别这些差异。具体的不同的数据库及其对应的方言可在网上查找。

如果无须Hibernate自己管理数据源,而是直接访问容器管理数据源,hibernate可以使用JNDI(Java 命名目录接口)数据源的相关配置:

(1)hibernate.connection.datasource:指定数据源JNDI的名字

(2)hibernate.jndi.url:指定JNDI提供者的URL,该属性是可选的。如果JNDI与Hibernate持久化访问的代码处于容易个应用中,则无须指定该属性。

(3)hibernate.jndi.class:指JNDI InitialContextFactory的实现类,该属性也是可选的。如果JNDI与Hibernate持久化访问的代码处于容易个应用中,则无须指定该属性。

(4)hibernate.connection.username:指定连接数据库的用户名(可选)

(5)hibernate.connection.password:指定连接数据库的密码 (可选)


Hibernate 事务属性

事务也是Hibernate持久层访问的重要方面,Hibernate 不仅提供了局部事务的支持,也允许使用容器管理的全局事务。Hibernate关于事务管理的属性有以下几个:

()hibernate.transaction.factory_class:指定了Hibernate所使用的事务工厂的类型,该属性值必须是TransactionFactory的子类。

()jta.UserTransaction:该属性是一个JNDI名,HIbernate将使用JTATransactionFactory从应用服务器获取JTAUserTransaction

()hibernate.transaction.manager_lookup_class:

()hibernate.transaction.flush_before_complete:指定Session 是否在事务完成后自动将数据刷新到底层数据库,该属性只能是True或者false,不过现在更好的方法是使用Context相关的Session管理

()hibernate.transaction.auto_close_session:指定在事务结束后是否自动关闭Session。该属性只能是True或者false,不过现在更好的方法是使用Context相关的Session管理


二级缓存相关属性

Hibernate的SessionFactory可以保持一个可选的二级缓存,通过使用在这种二级缓存可以提高Hibernate的持久化访问能力。Hibernate关于二级缓存的属性有如下几个:

hibernate.cache.provider_class:

hibernate


外连接抓取属性

外连接抓取能够限制执行SQL语句的次数来提高效率,这种外连接抓取通过在单个select语句中使用outer john来一次抓取多个数据表的数据。

外连接抓取允许在单个select语句中,通过<many-to-one../>、<one-to-many../>、<many-to-many../>和<one-to-one../>等关联来获取连接对象的整个对象图。

将hibernate.max_fetch_depth设为0,将在全局范围内禁止外连接抓取,设为1或者更高值能起用N-1或者1-1的外连接抓取,除此之外,还应该在映射文件在中通过fetch ="join"来指定这种外连接抓取。


其他常用的配置属性

hibernate.show_sql:是否在控制台输出Hibernate生成的SQL语句,只能为true或者false两个值

hibernate.format_sql:是否将SQL语句转换成格式良好的SQL语句。

hibernate.use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注视,只接受true和false两个值。

hibernate,jdbc.fetch_size:指定JDBC抓取数量的大小,它可以接受一个整数值,其实质是调用Statement.setFetchSize()方法。

hibernate.jdbc.batch_size:指定Hibernate使用JDBC2的批量更新的大小,它可接受一个整数值,建议是取5到30之间。

hibernate.connection.autocommit:设置是否自动提交。通常不建议自动提交。

hibernate.hbm2ddl.auto:设置当创建SessionFactory是,将Drop刚建的数据表。该属性可以是update、create和drop-create三个值。















海康威视iSC平台视频流对接:RTSP、HLS、WS三种协议到底该怎么选? 本文深入分析海康威视iSC平台视频流对接中RTSP、HLS和WebSocket三种协议的优缺点,帮助开发者根据实时性、兼容性和网络环境做出最优选择。特别适合综合安防管理平台的Web视频监控系统开发,提升用户体验和系统性能。 阅读详情

相关推荐

法兰克仿真软件FANUC CNC Guide v25.0 安装教程及中文设置

下载地址在文末。我们公司用新到一批FANUC 系统的设备,为方便使用就装了一个 FANUC 数控系统仿真软件FANUC CNC Guide v25.0 ,还是最新版不是市面上流传的老版本。模拟学习一下。

hakesashou的博客 1万+

Hibernate学习(一)

对象-关系映射(Object Relational Mapping) 对象-关系映射(ORM),是随着面向对象的软件开发方法发展而产生的。用来把域模型表示的对象映射到关系数据模型对应的数据库结构中去。 通过ORM思想在操作实体对象的时候,就不需要再去和复杂的 SQL语句打交道,只需简单的操作实体对象的属性和方法,ORM 技术是在实体类对象和数据库表之间提供了一条桥梁,对象型数据和数据库中的关系型...

Despair4720的博客 376

Ubuntu运行vmware时报错Vmware Unable to install all modules!Use shipped Linux kernel AIO access library解决。

Ubuntu运行vmware时报错Vmware Unable to install all modules! vmware --version 提示下面内容: [AppLoader] Use shipped Linux kernel AIO access library. An up-to-date "libaio" or "libaio1" package from your system is preferred. VMware Workstation 16.1.2 build-17966106

wto882dim的博客 2848

hibernate 配置文件(hibernate.properties)基本模板

 ######################### Query Language ########################### define query language constants / function nameshibernate.query.substitutions true 1, false 0, yes Y, no N

人世间整不明白的事儿太多 5059

如何点亮一颗sensor

要点亮一个sensor需要从,时钟、sensorI2C,供电,reset脚,mipi的配置几个方面一一确认。 reset脚拉高 给sensor的时钟有没有。(目前用到的常为24MHZ) 供电 查看sensor的数据手册,看有几个电源,用示波器量一下是否为手册规定的电压 比如:DVDD 数字电压: AVDD模拟电压 DOVDD芯片引脚出来的电压等为多少。 sensor的I2C能否抓到 将I2C的口对应上,用示波器量取i2c的波形。 检查有应答并且数据正确。读写地址是否正...

weixin_40787463的博客 3646

微带天线理论学习笔记(1)

微带天线的概念是由Deschamps于1953年提出来的,它是在一块厚度远小于工作波长的介质基片的一面敷以金属辐射片、一面全部敷以金属薄层作接地板而成。辐射片可以根据不同的要求设计成各种形状。微带天线具有质量轻、体积小和易于制造等优点,广泛应用于个人无线通信中。

qq_36521926的博客 6225

Hibernate连接SQL Server(非默认实例)URL配置

hibernate.connection.url=jdbc:sqlserver://localhost;instanceName=MSSQLSERVER2;databaseName=WITHDB //localhost为服务器地址; MSSQLSERVER2数据库的实例名; WITHDB为数据库名;不需设置端口地址,用分号隔开。 也有看过 jdbc:sqlse

天河北的梅果糖 3161

使用conda环境python3.13和python3.12下安装vllm过程记录

使用conda环境python3.13和python3.12下安装vllm过程记录

没刮胡子的程序员专栏 885

利用hibernate自动创建数据库

首先hibernate配置文件,hibernate.cfg.xml。&lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"&gt; &...

Fanhingkui的博客 2204

【VTK】VTK中的光标样式

本文分享VTK中的光标设置相关内容技术,希望对各位小伙伴有所帮助!

qq_40041064的博客 1931

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3990

Hibernate基础配置

在使用Hibernate框架进行基础的配置 1.导入jar包 2.引入配置文件Hibernate.cfg.xml   该配置文件配置了连接数据库的基本配置 可选配置:  hibernate.hbm2ddl.auto none:不使用hibernate自动建表 create:如果数据库中已有表,删除原表,重新创建,如果没有表,创建新表 create-drop  如果已经有表,删除原表,执...

weixin_43014205的博客 317

数学建模学习(5):最全概率分析之图表绘制详解,内容比较多,建议收藏

(1) 绘制正整数频率使用 tabulate(X) (2)

全栈川川 4592

别死记硬背!从ICode Python 2级训练场看for循环的3种实战模式:递减步长、索引联动与条件模拟

本文通过ICode Python 2级训练场案例,深入解析for循环的3种高级应用模式:递减步长、索引联动与条件模拟。这些模式不仅提升编程效率,还能培养抽象建模能力,适用于图形绘制、游戏开发等复杂场景。掌握这些技巧,让你的Python编程水平更上一层楼。

weixin_33727510的博客 452

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

hibernate的配置详解

1.hibernate的配置属性 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect hibernate.show_sql 输出所有SQL语句到控制台. 有一个另外的选择是把or

钟渊博客 1835

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

整理hibernate 的set属性

name:映射类属性的名称; access:hibernate访问这个属性的策略 table:关联的目标数据库表 schema:目标数据库表的schema名字 catalog:目标数据库表的catalog名字 lazy:是否采用延迟加载 subselect:定义一个子查询 inverse:用于标识双相关联中被动的一方,一般标识一对多中一的一方设置为ture

DXJ_dengxiaoju的博客 559

Hibernate基本配置

在我们的开发过程中,数据库的连接信息和映射文件信息还有hibernate 整个工程信息,只需要读取一次,以后直接使用就可以了。

真嗣的博客 262

Hibernate映射文件元素属性说明

转载 Doctype &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"...

weixin_34301307的博客 142

hibernate映射文件配置

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- package: 要映射的对象所在的包(可选,如果不指定,此文件所有的类都要指定全路径) aut

过去_现在_未来 1029

Hibernate 配置属性

Hibernate 配置属性 属性名 用途 hibernate.dialect 允许 Hibernate 针对特定的关系数据库生成优化的 SQL 的org.hibernate.dialect.Dialect 的类名。 例如:full.classname.of.Dialect 在大多数情况下,Hibernate 可以根据 JDBC 驱动返回

洋洋的专栏 1338

hibernate 配置属性

配置属性   属性名 用途 hibernate.dialect 允许 Hibernate 针对特定的关系数据库生成优化的 SQL 的org.hibernate.dialect.Dialect 的类名。 例如:full.classname.of.Dialect 在大多数情况下,Hibernate 可以根据 JDBC 驱动返回的 JDBC m...

· · 243

【Hibernate】配置属性

Hibernate使用使用时必配和可选的配置属性。

Sheldon74的博客 499

Hibernate 数组的属性配置

数组的配置与 List 没多少区别 ,包 Person.hbm.xml 中的 改成 就可以了 代码如下: 在配置数组时候刚开始遇到一个问题:为 Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.

积跬步致千里 1845

hibernate-mapping的各种属性配置

先给出一份常见的持久化类配置文件大概熟悉一下 <strong><spanstyle="font-size: 18px;"><hibernate-mapping> <classname="zyw.app.domain.Person1"> <idname="id"type="java.lang.Integer"> <generatorclass="identity"/> ...

jamesge的博客 1513

Hibernate List 集合属性的配置

用List 集合属性时候 会生成两张表, 且是根据  PO 类 的 标识属性 (也就是数据库的主键),与 List 集合生成的表 通过外键关联 形成 用例如下: 1:编写PO类 package zhourj.hibernate.list; import java.util.ArrayList; import java.util.List; /* * List 集合的的映射 * 要求

积跬步致千里 3233

配置Hibernate 中不需要更改的属性

hibernate 中的class属性,注意其中的drnamic-update,是在运行时生成的sql,而且只更改属性变过的值,这样的话效率比较低,在batch情况下表现会更差,一般情况下不要用。如果不需要更改属性,可以在property中指定update="false"  You may declare a persistent class using the class ele

bzhang19841212的专栏 1705

hibernate配置entityInterceptor拦截器实现时间属性的赋值

一般我们创建实体对象,属性基本都会有一个创建时间createDate和一个修改时间modifyDate,这两个属性在实际应用中也有着很重要的作用,通常,我们在保存实体的时候,需要对这两个属性都赋值,而且都是new Date()的方式赋值,实体多了,这种赋值就显得不是那么的方便了,我们可以考虑使用hibernate拦截器来帮助我们给他们赋值,当我们创建实体的时候,我们对createDate和modi...

feinifi的博客 1935
上一篇: Hibernate之Configuration,SessionFactory,Session
下一篇: 持久化对象的状态
IMFuckingHigh
博客等级 码龄18年 85粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值