要毕业了,什么也不懂,最近想学三大框架,刚学完STUTRS2,昨天开始学hibernate,教程第一讲就弄了两天还停留在下面这个问题,急死人了。教程上说的是hibernate3.2,但是我现在到官网下了个4.2的版本,实在是整天两天没成功运行,后面的教程就一直挡着了,这个是照着教程上看的写的实体类Student,
packagecom.luhy.hibernate.model;

publicclassStudent{
privateintid;
privateStringname;
privateintage;


publicStudent(){

}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}


}


测试类:
packagecom.luhy.hibernate.test;

importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
importorg.hibernate.service.ServiceRegistry;
importorg.hibernate.service.ServiceRegistryBuilder;

importcom.luhy.hibernate.model.Student;

publicclassTest{
publicstaticvoidmain(String[]args){
Studentst=newStudent();
st.setId(2);
st.setName("学生");
st.setAge(20);

Configurationcfg=newConfiguration();

cfg.configure();
ServiceRegistryserviceRegistry=newServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
SessionFactorysf=cfg.configure().buildSessionFactory(serviceRegistry);
Sessionsession=sf.openSession();
session.beginTransaction();//事务开启
session.save(st);//保存对象
session.getTransaction().commit();
session.close();
sf.close();
}
}


Student.hbm.xml配置:
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mappingpackage="org.hibernate.tutorial.domain">
<classname="Student"table="student">
<idname="id"column="id"/>
<propertyname="name"column="name"/>
<propertyname="age"column="age"/>
</class>
</hibernate-mapping>


hibernate.cfg.xml配置:
<?xmlversion='1.0'encoding='utf-8'?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!--Databaseconnectionsettings-->
<propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>
<propertyname="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<propertyname="connection.username">root</property>
<propertyname="connection.password">lu5896848</property>

<!--JDBCconnectionpool(usethebuilt-in)-->
<!--<propertyname="connection.pool_size">1</property>-->

<!--SQLdialect-->
<propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>

<!--EnableHibernate'sautomaticsessioncontextmanagement-->
<propertyname="current_session_context_class">thread</property>-->

<!--Disablethesecond-levelcache-->
<propertyname="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

<!--EchoallexecutedSQLtostdout-->
<propertyname="show_sql">true</property>

<!--Dropandre-createthedatabaseschemaonstartup-->
<propertyname="hbm2ddl.auto">update</property>-->

<mappingresource="com/luhy/hibernate/model/Student.hbm.xml"/>

</session-factory>

</hibernate-configuration>

工程目录,帮看下对应的JAR包是否齐全?



结果是 ,运行后出错,早上搞到晚上睡觉也弄不好,网上百度谷歌也找不出问题,网上对应的和我这版本的问题资料太少,错误代码如下:
2013-5-1217:02:51org.hibernate.annotations.common.Version<clinit>
INFO:HCANN000001:HibernateCommonsAnnotations{4.0.1.Final}
2013-5-1217:02:51org.hibernate.VersionlogVersion
INFO:HHH000412:HibernateCore{4.2.1.Final}
2013-5-1217:02:51org.hibernate.cfg.Environment<clinit>
INFO:HHH000206:hibernate.propertiesnotfound
2013-5-1217:02:51org.hibernate.cfg.EnvironmentbuildBytecodeProvider
INFO:HHH000021:Bytecodeprovidername:javassist
2013-5-1217:02:51org.hibernate.cfg.Configurationconfigure
INFO:HHH000043:Configuringfromresource:/hibernate.cfg.xml
2013-5-1217:02:51org.hibernate.cfg.ConfigurationgetConfigurationInputStream
INFO:HHH000040:Configurationresource:/hibernate.cfg.xml
Exceptioninthread"main"org.hibernate.MappingException:invalidconfiguration
atorg.hibernate.cfg.Configuration.doConfigure(Configuration.java:2028)
atorg.hibernate.cfg.Configuration.configure(Configuration.java:1945)
atorg.hibernate.cfg.Configuration.configure(Configuration.java:1924)
atcom.luhy.hibernate.test.Test.main(Test.java:20)
Causedby:org.xml.sax.SAXParseException:Thecontentofelementtype"session-factory"mustmatch"(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".
atcom.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
atcom.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
atcom.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
atcom.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
atcom.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2017)
atcom.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:901)
atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
atcom.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
atcom.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
atcom.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
atcom.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
atcom.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
atorg.dom4j.io.SAXReader.read(SAXReader.java:465)
atorg.hibernate.cfg.Configuration.doConfigure(Configuration.java:2025)
...3more


24 个解决方案

#1


Causedby:org.xml.sax.SAXParseException
报这个错误表示xml文件解析错误,我看了一下,发现你的hibernate.hbm.xml文件有没删掉的注释符合哦,
23行和32行的结尾有“-->”,是不是删漏了?
去掉后,你再试试

更多相关文章

  1. sqlserver2005 express 未指定的错误 MS Visual Database Tools
  2. MySQL This function has none of DETERMINISTIC, NO SQL...错误
  3. 最新MySQL安装配置教程
  4. 超时时间已到.错误及Max Pool Size设置
  5. EventBus的使用,注意事项,错误分析
  6. Android Studio 出现 Gradle's dependency cache may be corrupt
  7. Android基础入门教程——7.4 Android调用WebService
  8. 【Android Studio】解决adb not responding if youd like to ret
  9. Java 简单解决springmvc获取properties文件里面中文内容出现论码

随机推荐

  1. (20120722)(笔记002)android开发环境搭建
  2. Android资料备注
  3. android:padding 与 android:margin的区
  4. [图解]Android下Invalid layout of java.
  5. Android 软键盘遮挡Dialog
  6. 错误:AGPBI: {“kind“:“error“,“text
  7. 介绍一下android的各种权限。 代码如下: H
  8. Android 自定义渐变背景
  9. 关于新版SDK报错You need to use a Theme
  10. android小配置junit测试环境