XML映射文件中的DTD定义(Hibernate初始化导入*.hbm.xml非常慢的问题)

[size=large] 所有的XML映射文件都需要定义,如下所示的“DOCTYPE”:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD [u]3.0[/u]//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-[u]3.0[/u].dtd">

该DTD定义将会根据不同的Hibernate版本而有所变化。默认情况下,处于XML文件解析效率的考虑,Hibernate在其二进制包hibernate3.jar的类路径"org/hibernate/"会存放一份DTD声明文件。
在Hibernate运行阶段,它首先会在Java运行时的类路径(CLASSPATH)下搜索DTD文件,然后再通过XML中的URL访问DTD定义。如果在开发过程中发现Hibernate在解析"*.hbm.xml"时消耗的时间过长时,就需要检查Hibernate是否通过网络来获取DTD文件,并查找Hibernate运行环境是否包含了DTD的定义文件。
Hibernate3.0的DTD文件位于:
http:hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
开发者将Hibernate从版本2升级到3的时候,往往忽视DTD定义路径的修改,此时Hibernate初始化时导入"*.hbm.xml"非常慢,需要将2.0修改成3.0就不会有问题了。
——《Hibernate ORM 最佳实践》[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值