J2EE进阶(十九)FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd
来源:互联网 发布:淘宝上的店铺收藏链接 编辑:程序博客网 时间:2024/04/29 17:38
J2EE进阶(十九)Nested exception: java.io.FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd
在调试过程中,莫名奇妙的出现了“Nested exception:java.io.FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd”的错误,截图如下:
对于这一错误,查看错误提示可知,是由于“http://hibernate.org/dtd/hibernate-mapping-3.0.dtd%20”文件找不到造成的。之前也没有找不到这一文件啊。由于是获取网络文件,怀疑是网络造成的问题,可是网络链接良好。从网上搜寻答案,一番折腾一无所获,回去继续看错误报告,结合错误源文件,发现了下面的异常。
原来是由于不知何时手误将“http://hibernate.org/dtd/hibernate-mapping-3.0.dtd%20”的后面多加了一个空格,导致文件找不到了。我只想说“这也可以?”将空格删除之后,问题得到解决。
后期经过确认,是由于利用Hibernate的反向工程生成.hbm.xml文件时多加的一个空格,坑!
附 org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()
分析及解决:
要操作的数据表中的id(即主键)的类型设置成了“自动增长类型”,而在你的
hibernate.cfg.xml中,id的生成方式是assigned,即
<id name="id" type="integer"> column name="id" /> <generator class="assigned" /></id>
这种搭配是矛盾的!因为主键的assigned生成方式由程序自动生成表的主键,即在你的测试程序中要调用setId()方法,且必须在调用save()前调用(或者说在调用save()前必须指定id,其实就是说,主键值不能为空!)。
把主键的生成方式改为native,它的特征是能够根据底层数据库自动选择主键生成方式。
- J2EE进阶(十九)FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd
- hibernate-mapping-3.0.dtd问题.
- hibernate-mapping-3.0.dtd离线配置
- 解决hibernate:referenced file contains errors http hibernate.sourceforge.net hibernate-mapping-3.0.dtd
- hibernate-configuration-3.0.dtd
- Hibernate的dtd
- Hibernate的dtd
- hibernate的dtd包路径
- http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
- hibernate:hbm下dtd配置错误
- eclipse导入hibernate 的DTD 文件
- org.hibernate.mapping.Column.java
- org.hibernate.mapping.Table.java
- DTD、
- DTD
- DTD
- DTD
- dtd
- opendir 、closedir 、readdir 目录函数
- 页面置换算法
- xml--基础介绍
- 共享文件的几种方式
- 使用VS编译Qt源码(含编译选项的意义)
- J2EE进阶(十九)FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd
- Cookies封装
- 动态规划:如何求解最大连通节点值
- LinkedHashMap是如何组织数据的
- ViewPager特效
- 自动识别技术
- 磁盘调度算法
- Android 开发应用时的简单IO流使用
- java初学者要注意的问题