虽然说 都用annotation了,但是刚学还是试了下xml。结果不太熟悉xml的我,悲剧了一回。想写个helloWorld,都被无情地鄙视了。耽误了好长时间。仅以此文告慰一下还是菜鸟的我。
写了个Student.hbm.hibernate
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping package="skj.vdo">
<class name="Student" table="Student">
<id name="id" column="sno"></id>
<property name="name" column="name"/>
<property name="age" column="age"/>
<property name="birthday" column="birthday"/>
</class>
</hibernate-mapping>
hibernate.cfg.xml直接从文档中拷贝的。改了该数据库配置方言之类……
来了个Test,运行时,发现好多异常啊。原来木有些dtd,验证通不过。
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
唉:
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Unable to read XML
Exception in thread "main" java.lang.ExceptionInInitializerError
at skj.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:18)
at skj.util.HibernateUtil.<clinit>(HibernateUtil.java:8)
at skj.test.test.main(test.java:21)
Caused by: org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)
at org.hibernate.cfg.Configuration.add(Configuration.java:513)
at org.hibernate.cfg.Configuration.add(Configuration.java:509)
at org.hibernate.cfg.Configuration.add(Configuration.java:689)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:774)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2317)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2283)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2263)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2216)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2131)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2110)
at skj.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
... 2 more
Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'hibernate-mapping'.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1915)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
... 13 more
分享到:
相关推荐
【标题】"从今天起开始学习hibernate3" 暗示了我们将探讨的是Java领域中的持久化框架Hibernate 3。Hibernate是一个流行的开源对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式来操作数据库,而无需直接...
### 开始学习Hibernate #### Hibernate简介与配置 Hibernate是一个开源的对象关系映射(Object-Relational Mapping,简称ORM)框架,用于Java应用中简化数据库操作。通过将对象模型与关系型数据库模型之间的转换...
因此,文档很可能是为那些希望从基础开始学习Hibernate,并希望在实际项目中有效地使用Hibernate的开发者设计的。 另外,文档中还包含了关于Java程序员薪资的讨论和学习方法的建议,这虽然与Hibernate直接相关性...
这个部分适合初学者从零开始学习Hibernate的基本用法。 接着,文档通过建立一个名为EventManager的Web应用程序的实例,详细介绍了如何映射关联、处理集合值类型、实现双向关联、操作Web层并进行部署和测试。这部分...
在开始学习Hibernate之前,我们需要创建第一个Hibernate示例。这个示例通常包括配置Hibernate环境、定义实体类、编写映射文件,以及创建Session工厂和Session,用于执行CRUD操作。例如,我们可以创建一个User类,...
开始学习Hibernate前,你需要安装JDK、设置环境变量,下载Hibernate库,并在项目中配置Hibernate的主配置文件`hibernate.cfg.xml`,包括数据库连接信息、方言选择等。 3. **实体类与映射文件** Hibernate通过XML...
开始学习Hibernate,我们首先需要创建数据库和表。例如,在MySQL中建立名为`Student`的数据库和对应的`Student`表,包含`id`、`name`和`age`三个字段。接着,我们需要在Java项目中引入Hibernate的相关依赖,包括...
手册会以实例驱动的方式,帮助读者从零开始学习Hibernate,逐步掌握其核心概念和应用技巧,最终能够熟练地运用Hibernate框架进行数据持久化操作。 由于文档内容的OCR扫描可能造成部分内容识别错误或缺失,我们在...
为了开始学习hibernate,你需要准备hibernate的相关jar包,包括核心库和注解库,以及MySQL的JDBC驱动。然后,创建Java项目,设置hibernate的用户库,编写配置文件,建立实体类,完成映射配置,最后编写测试代码来...
对于那些刚开始学习Hibernate或者想要深入理解ORM(对象关系映射)机制的人来说,这是一个非常宝贵的资源。 **知识点详解:** 1. **Hibernate框架**:Hibernate是一个开源的Java持久化框架,它提供了一种在Java...
在初学者开始学习Hibernate时,了解并正确配置所需的库文件是至关重要的。以下是对"hibernate至少所需的包"的详细说明: 1. **Hibernate Core**: 这是Hibernate的核心库,包含了处理对象关系映射、持久化、事务...
《Hibernate DOC中文文档》是学习Hibernate框架的重要参考资料,它详细阐述了Hibernate的核心概念、配置、对象关系映射(ORM)以及各种操作技巧。对于初学者和有经验的开发者来说,这份文档都是掌握Hibernate不可或...
本教程将引导初学者了解如何开始学习Hibernate。 1. **环境搭建** 在Eclipse中创建一个新的Java Web工程,并导入Hibernate的jar包。确保包括Hibernate4的核心库,这通常包括7个基本的jar文件。同时,由于要与...
2. 安装与配置:开始学习Hibernate之前,需要将其添加到项目依赖中,通常是通过Maven或Gradle。配置包括创建`hibernate.cfg.xml`文件,定义数据库连接参数,如URL、用户名、密码以及JDBC驱动等。 3. 实体类和注解:...
在开始学习Hibernate之前,确保你已经掌握了Java基础知识和一定的SQL知识。接下来,我们将会探讨以下关键知识点: 1. Hibernate架构:包括实体管理器(Entity Manager)、会话(Session)和事务(Transaction)的...
2. **配置文件和依赖**:开始学习Hibernate时,我们需要配置`hibernate.cfg.xml`文件,这里包含了数据库连接信息、方言设置、缓存策略等。同时,我们需要在项目中引入Hibernate的JAR包或者相关的Maven/Gradle依赖。 ...
开始学习Hibernate前,需要配置好开发环境。这包括创建一个开发目录,并将Hibernate发行版中的库文件(如antlr.jar、cglib.jar、hibernate3.jar等)复制到/lib目录下。开发者应确保使用与Hibernate版本匹配的库文件...
资源包含了Hibernate全面的基础内容,包含理论和相关代码,认为对刚开始学习Hibernate的人来说是不错的学习资料
在开始学习Hibernate之前,你需要了解如何设置开发环境,包括下载Hibernate库,配置JDBC驱动,以及在项目中添加必要的依赖。课程会详细介绍如何创建Hibernate的配置文件(hibernate.cfg.xml)以及实体类的映射文件...
通过这些基础知识,你可以开始学习Hibernate,逐步掌握如何创建持久化对象,定义映射,以及执行CRUD操作。随着学习的深入,你还将了解到事务管理、查询优化、缓存策略等高级主题,从而成为一名熟练的Hibernate开发者...