Hibernate 主清单文件配制的详细介绍(hibernate现在淘汰了吗)学会了吗

随心笔谈4个月前更新 admin
202 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章详细介绍了配置Hibernate的Session Factory的相关参数设置,主要围绕如何优化数据库连接和Bean持久化操作。文章提到以下关键点: 1. **基本配置**:包括数据库连接的驱动类(com.mysql.jdbc.Driver)、连接URL、用户名、密码以及使用的SQL方言(org.hibernate.dialect.MySQL5Dialect)。 2. **优化设置**: - 显示SQL语句(hibernate.show_sql = true)和格式化SQL(hibernate.format_sql = true),方便调试和查看执行SQL语句。 - 设置表的创建模式为“update”(hibernate.hbm2ddl.auto = update),在Bean持久化时生成对应的更新语句。 3. **取消Bean校验**:将Bean的校验设置为“none”(javax.persistence.validation.mode = none),关闭Bean验证功能,适用于特定场景。 4. **Session管理**:设置Session工厂中Session的线程本地管理方式为“thread”,使用ThreadLocal存储Session,确保每个线程独立管理Session。此外,整合了C3P0作为Session的连接池,提高并发处理能力。 5. **映射文件**:定义了对象映射文件的位置(MobleHomeModel.hbm.xml),用于配置对象与数据库的映射关系。 文章整体展示了如何通过配置Session Factory来优化 Hibernate 的性能,同时避免不必要的Bean校验和提升事务处理效率。


<?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>
<!– 1 基本4项 –>
<!– 1.1 加载驱动配制 –>
<property name=”hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
<!– 1.2 数据库地址 –>
<!– 如 jdbc:mysql://192.168.1.1:3306/test_java_study?useUnicode=true&characterEncoding=UTF-8–>
<property name=”hibernate.connection.url”>url</property>
<!– 1.3 登录数据库用户名 –>
<property name=”hibernate.connection.username”>root</property>
<!– 1.3 登录数据库用户名密码 –>
<property name=”hibernate.connection.password”>123456</property>

<!– 2 方言 –>
<property name=”hibernate.dialect”>org.hibernate.dialect.MySQL5Dialect</property>

<!– 3 开发时,优化设置 –>
<!– 3.1 显示生产sql语句 –>
<property name=”hibernate.show_sql”>true</property>
<!– 3.2 格式化方式显示sql –>
<property name=”hibernate.format_sql”>true</property>
<!– 4 表的创建 –>
<property name=”hibernate.hbm2ddl.auto”>update</property>

<!– 5 取消bean校验 –>
<property name=”javax.persistence.validation.mode”>none</property>

<!– 6 将session绑定当本地线程中 * hibernate session 管理 : 只将使用。 * 当在cfg.xml 配置 thread,SessionFactory提供
getCurrentSession() 将可以使用。 * hibernate底层使用 ThreadLocal 线程局部变量,可以在一个线程中共享数据。
*** get() ##map.get(Thread) *** set(value) ##map.put(Thread,value) *** remove()
##map.remove(Thread) –>
<property name=”hibernate.current_session_context_class”>thread</property>

<!– 整合c3p0 –>
<property name=”hibernate.connection.provider_class”>org.hibernate.connection.C3P0ConnectionProvider</property>

<!– 对象类的 映射文件 –>
<mapping resource=”android/longs/study/home/servlet/model/MobleHomeModel.hbm.xml” />

</session-factory>

</hibernate-configuration>

© 版权声明

相关文章