-
hibernate初学者 出现Could not parse mapping document from resource 报错 帮吗看一下30
初学hibernate 一个最简单的hibernate的小测试程序,总是报错,哪位好心人帮忙看一下哪里错了
Student类
package com.bjsxt.model;
public class Student {
private String name;
private int id;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Student.hbm.xml 与student类放在一个文件夹(com.bjsxt.model)下
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.bjsxt.model">
<class name="Student" table="student">
<id name="id"/>
<property name="age" />
<property name="name" />
</class>
</hibernate-mapping>
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
StudentTest 测试类 放在src目录下
import com.bjsxt.model.Student;
public class StudentTest {
public static void main(String[] args) {
Student student = new Student();
student.setId(1);
student.setName("gsy");
student.setAge(23);
Configuration cfg = new Configuration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(student);
session.getTransaction().commit();
session.close();
sf.close();
}
}
hibernate.cfg.xml文件放在src目录下
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size">1</property> -->
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<!-- <property name="current_session_context_class">thread</property> -->
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hbm2ddl.auto">update</property>-->
<mapping resource="com/bjsxt/model/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
数据库表:
不过运行studentTest时总是报错为:
Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/bjsxt/model/Student.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:616)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1635)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
at StudentTest.main(StudentTest.java:17)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:555)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
... 7 more
Caused by: org.dom4j.DocumentException: Error on line 2 of document : The processing instruction target matching "[xX][mM][lL]" is not allowed. Nested exception: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:546)
... 8 more
我是刚开始自学的hibernate,第一个小测试程序就报错 ,很是受打击,麻烦帮忙看一下哪里错了,不胜感激...2010年5月14日 16:44
24个答案 按时间排序 按投票排序
-
错误字符是“xml”
说明<?xml version='1.0' encoding='utf-8'?> 前存在空格、空行。
删除这句话之前的所有空行空格。2010年5月27日 22:10
-
lz问题还没解决?介意你别手动写实体映射文件,直接用hiberbate框架生成,这样就不会出现一些莫名奇妙的错。
介意你把:Student.hbm.xml中的<class name="Student" table="student">
改成<class name="com.bjsxt.Student" table="student"> 试试,因为报错说是无法解析你的映射文件。2010年5月24日 10:51
-
hibernate.cfg.xml这个文件我用我自己的,复制你的其他的代码调过~~没有任何问题~~谢谢。。检查一下引用的包吧。。呵呵
2010年5月24日 01:42
-
The processing instruction target matching "[xX][mM][lL]" is not allowed.
你的Student.hbm.xml 格式问题.!2010年5月20日 17:04
-
Student.hbm.xml是不是应该这样写啊!
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.bjsxt.model.Student" table="student"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="increment" /> </id> <property name="name" type="java.lang.String"> <column name="name" length="20"/> </property> <property name="age" type="java.lang.Integer"> <column name="age" length="11"/> </property> </class> </hibernate-mapping>
2010年5月19日 10:51
-
hibernate映射文件没有和数据库字段关联吧
正确的写法
<property name="age" type="long">
<column name="AGE" length="2" />
</property>
还有你的ID生成策略设一下2010年5月18日 16:23
-
<?xml version="1.0" encoding="utf-8"?>
utf-8编码是不能少的,因为xml文档默认的及时Unicode字符集。2010年5月14日 17:03
-
引用The processing instruction target matching "[xX][mM][lL]" is not allowed
错误字符是“xml”
说明<?xml version='1.0' encoding='utf-8'?> 前存在空格、空行。
删除这句话之前的所有空行空格。
2010年5月14日 17:02
-
很明显呀 你的hbm.xml 没有按照规范去写或者生成
在解析的时候不能正确解析 该是你property 没有和表的列对应吧?猜测
建议用hibernate工具区生成映射文件 。2010年5月14日 16:55
-
<id name="id"/> 主键生成策略呢?
<id name="id" column="id">
<generator class="native"></generator>
</id>
这样吧!2010年5月14日 16:53
-
请检查 Student.hbm.xml 文件的格式是否正确(用IE直接打开 看出错不),我感觉应该是你的文件编码有问题,请你UE 转换编码到 utf-8 试试。
另外,我还想说,还是学习JPA,是JavaEE的标准,而且比Hibernate更好易用。
JPA其实是Hibernate进一步发展,以及标准化的结果。2010年5月14日 16:51
-
引用The processing instruction target matching "[xX][mM][lL]" is not allowed
错误字符是“xml”
删除 <?xml version='1.0' encoding='utf-8'?> 前的空格、空行,皆可
2010年5月14日 16:48
相关推荐
Could not read /Users/panxin/Library/Android/sdk/platform-tools/api/annotations.zip java.io.IOException: Could not parse XML from annotations/android/widget/annotations.xml 请将本文件解压后的...
Android Build 时报错: java.io.IOException: Could not parse XML from android/accounts/annotati...Android构建时报错: app:lintVitalRelease[Fatal Error] :3:214: 与元素类型 “item” 相关联的 “name” ...
EmptyDataError: No columns to parse from file报错 原因和解决办法: 是因为你之前下载这个数据集的时候,中断了,已经产生了一个iris.csv的空文件在home家目录下面,你只需要去home家目录下面删除这个空文件既...
安装JayDeBeApi时,如果报错,提示:error: Could not find suitable distribution for Requirement.parse('py4j') 需要先安装这个py4j
编译时遇到以下报错:app:...java.io.IOException: Could not parse XML from annotations/android/widget/annotations.xml 请将本文件替换SDK目录下的/platform-tools/api/annotations.zip文件,建议替换前备份原文件
parse_resource, Parse.com API其余部分的ruby 包装器 ParseResource维护者需要不幸的是,我无法给这个库所需的时间。 如果你想成为一个维护者,请让我知道。 ParseResource使与 Parse.com's REST API 交互变得容易...
Android端zip压缩与解压,目前暂时只做zip格式支持,基于Zip4j (http://www.lingala.net/zip4j/)进行扩展成工具类,支持对单个文件,多个文件以及文件夹进行压缩,对压缩文件解压到到指定目录,支持压缩解压使用密码...
SELECT JSON_ARRAYAGG(obj) FROM (SELECT trt.relevance_id,JSON_OBJECT('id',CAST(trt.id AS CHAR),'taskName',trt.task_name,'openStatus',trt.open_status,'taskSort',trt.task_sort) as obj FROM tb_review_task...
上传jar包所要用到的gpg文件
总结一下,JSON和XML之间的转换以及将JSON数据映射到Map是软件开发中的常见任务,特别是在跨平台数据交互和API开发中。理解如何正确地执行这些操作对于任何IT专业人员来说都是至关重要的技能。提供的`src`和`lib`...
编译时如果遇到以下报错:app:lintVitalRelease[Fatal Error] :43:...java.io.IOException: Could not parse XML from annotations/android/widget/annotations.xml 请将本文件替换SDK目录下的/platform-tools/api资源
在本文中,我们将深入探讨Laravel开发中的一个重要组件——laravel-parse。这是一个专门为Laravel框架设计的Parse SDK桥接器,...无论是初学者还是经验丰富的开发者,都能从中受益,实现更快速、更可靠的Web应用开发。
在本文中,我们将深入探讨如何使用C#编程语言创建一个简单的计算器程序,这对于初学者来说是一个很好的起点。C#是一种广泛应用于开发桌面应用、游戏、移动应用和Web应用的强类型、面向对象的语言。通过创建一个...
用于解决,Android构建APk时报错: ...java.io.IOException: Could not parse XML from android/accounts/annotations.xml 将上述文件替换替换SDK目录下的/platform-tools/api/下对应的文件即可解决
MindSpore报错解决地图2022.10.21主要涵盖了MindSpore在深度学习过程中遇到的各种常见问题及其解决方案。这些问题大致分为两类:数据加载与处理问题,以及网络构建与训练问题。 在数据加载与处理方面,MindSpore...
var myApp = angular.module('demoApp', ['angular-parse-resource']);使用您的 Parse.com 应用 ID 和应用密钥配置提供程序 myApp.config(function(parseResourceProvider) { parseResourceProvider.setConfig({ ...
标题中的“JSON.stringify()报错:JSON未定义”是一个常见的JavaScript错误,通常出现在尝试使用`JSON.stringify()`方法但全局环境中没有定义JSON对象时。在浏览器环境中,JSON是默认支持的,但在某些旧版本的IE...
nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement ``` 这些错误信息表明MySQL在处理某些特殊字符(通常是中文字符)时出现了问题。 #### 原因分析 出现上述问题...
- **错误处理**: 处理可能出现的解析错误,如无效的chunk大小或不完整的块。 - **状态管理**: 跟踪解析过程中的状态,如当前块大小、是否遇到0块等。 - **内存管理**: 分配和释放存储chunk数据的内存。 通过这些...
在本文中,我们将深入探讨Laravel开发中的一个重要组件——laravel-parse-sdk。这个SDK是专门为Laravel 5设计的,用于连接和操作Parse服务,它允许开发者在自托管的Parse服务器上存储和管理数据,从而扩展了Laravel...