菜鸟新手求助,hibernate配置后向数据库里面添加数据总是报错

qq_32970387 2016-02-24 02:57:51
下面是报错的提示:
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/pb/hibernate/po/Login.hbm.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.pb.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:19)
at com.pb.hibernate.dao.LoginDao.save(LoginDao.java:11)
at com.pb.hibernate.test.Test.main(Test.java:14)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/pb/hibernate/po/Login.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 com.pb.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:14)
... 2 more
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from invalid mapping
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:549)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
... 9 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 50; 必须声明元素类型 "colum"。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1906)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:763)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:356)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:546)
... 10 more

我在oracle里面创建了一个login表,想向表里面添加用户信息,但是总是报错
下面是配置文件
<?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">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@locahost:1521:SHOP</property>
<property name="connection.username">shop_display</property>
<property name="connection.password">1234</property>

<mapping resource="com/pb/hibernate/po/Login.hbm.xml"/>


</session-factory>

</hibernate-configuration>
下面是login的配置信息
<?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.pb.hibernate" table="LOGIN" schema="shop_display">
<id name="userName" type="java.lang.String">
<colum name="USERNAME" length="20" />
<generator class="assigned" />
</id>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" not-null="true" />
</property>

</class>
</hibernate-mapping>
我已经问过老师了,说出的那些问题我都找了也没发现问题出在哪里,实在没有办法了ORZ,提前谢谢帮忙的大神
这个东西和版本有关系吗??难道是我java版本用的不对?我用的是javaEE
...全文
156 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuashenshou 2016-02-24
  • 打赏
  • 举报
回复
<session-factory> <!-- Database connection settings --> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@locahost:1521:SHOP</property> <property name="connection.username">shop_display</property> <property name="connection.password">1234</property> 加一个 <property name="connection.dialect">org.hibernate.dialect.Oracle9Dialect</property>具体是哪个你自己看下你的jar版本是9i还是10g的
qq_32970387 2016-02-24
  • 打赏
  • 举报
回复
引用 1 楼 xiaohuashenshou 的回复:
<colum name="USERNAME" length="20" />这个错误这么明显,你老师怎么检查不出来?column写错了啊,看下控制台的错误信息:Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 50; 必须声明元素类型 "colum"。
这个问题解决了,但是还是报错 Initial SessionFactory creation failed.org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection avalable Exception in thread "main" java.lang.ExceptionInInitializerError at com.pb.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:19) at com.pb.hibernate.dao.LoginDao.save(LoginDao.java:11) at com.pb.hibernate.test.Test.main(Test.java:14) Caused by: org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection avalable at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:134) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339) at com.pb.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:15) ... 2 more
qq_32970387 2016-02-24
  • 打赏
  • 举报
回复
我 把代码都给她复制看了,她好像没帮我仔细看,就说配置文件错了,让我检查这检查那的,一直没说是哪错了,什么原因……
xiaohuashenshou 2016-02-24
  • 打赏
  • 举报
回复
<colum name="USERNAME" length="20" />这个错误这么明显,你老师怎么检查不出来?column写错了啊,看下控制台的错误信息:Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 50; 必须声明元素类型 "colum"。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧