Hibernater的三个小技巧

本文介绍了如何通过修改配置文件提高Hibernate框架的运行速度,并解决了常见的事务管理和日志配置错误问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.提高hibernate运行速度:
将hibernate.cfg.xml文件中的
"
<!DOCTYPE hibernate-configuration
     PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
     " http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd ">
"
改成你本地指向你本地的hibernate-configuration-2.0.dtd文件所在位置。例如我的就是:
"
<!DOCTYPE hibernate-configuration
     PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
     "[url=file:///C:/hibernate-2.1/src/net/sf/hibernate/hibernate-configuration-2.0.dtd]file:///C:/hibernate-2.1/src/net/sf/hibernate/hibernate-configuration-2.0.dtd[/url]">
"
即可。
2.事务管理错误:
当行运时出现类似于
"javax.naming.NoInitialContextException: Need to specify class name in environment or
system property, or as an applet parameter, or in an application resource file:  
java.naming.factory.initial"

"net.sf.hibernate.TransactionException: Could not find UserTransaction in JNDI:"
时,这是事务管理机制没设置正确。我们一般均采用JDBCTransaction,但hibernate.cfg.xml中可能
是配置成了JTATransaction。只要将:
"<property
name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JTATransactionFacto
ry</property>"
改成:
"<property
name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFact
ory</property>"
即可。
3.log错误:
系统若提示出错信息为
"log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly."
说明系统找不到log4j.properties文件,只要将此文件copy到classes目录下即可解决;另外若您是通过
"Configuration cfg = new Configuration().configure();"这种方式来获取配置的话,那也您应当
将hibernate.cfg.xml文件放置在classes目录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值