开始学习hibernate

虽然说 都用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值