2012-05-07 16 views
1

私はhibernate-core-4.1.3.Final.jarを使用しています。テーブルにデータを挿入している間、私は次のエラーを取得しています:Hibernateエラー:org.xml.sax.SAXParseException:要素タイプ "hibernate-mapping"を宣言する必要があります

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!-- Generated May 7, 2012 3:07:47 PM by Hibernate Tools 3.4.0.CR1 --> 
<hibernate-mapping> 
<class name="com.paypal.socialpay.models.User" table="user" catalog="socialdb"> 
    <id name="id" type="java.lang.Integer"> 
     <column name="id" /> 
     <generator class="identity" /> 
    </id> 
    <property name="payerid" type="string"> 
     <column name="payerid" length="50" not-null="true" /> 
    </property> 
    <property name="emailid" type="string"> 
     <column name="emailid" length="100" not-null="true" /> 
    </property> 
    <property name="createdDt" type="timestamp"> 
     <column name="created_dt" length="0" not-null="true" /> 
    </property> 
    <property name="updatedDt" type="timestamp"> 
     <column name="updated_dt" length="0" not-null="true" /> 
    </property> 
    <property name="firstname" type="string"> 
     <column name="firstname" length="100" /> 
    </property> 
    <property name="lastname" type="string"> 
     <column name="lastname" length="100" /> 
    </property> 
    <property name="correlationid" type="string"> 
     <column name="correlationid" length="100" /> 
    </property> 
</class> 
</hibernate-mapping> 

エラーのスタックトレースは次のとおりです:

org.xml.sax.SAXParseException: Element type "hibernate-mapping" must be declared. 
    at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213) 
    at org.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1807) 
    at org.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3633) 
    at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1229) 
    at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:938) 
    at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) 
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098) 
    at org.dom4j.io.SAXReader.read(SAXReader.java:465) 
    at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78) 
    at org.hibernate.cfg.Configuration.add(Configuration.java:478) 
    at org.hibernate.cfg.Configuration.add(Configuration.java:474) 
    at org.hibernate.cfg.Configuration.add(Configuration.java:647) 
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:730) 
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2109) 
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2081) 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2061) 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2014) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1929) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1908) 
    at com.paypal.utils.HibernateUtil.<clinit>(HibernateUtil.java:12) 
    at com.paypal.utils.UserService.findUserByEmail(UserService.java:29) 
    at com.paypal.socialpay.controllers.APIController.doGetAuthDetails(APIController.java:257) 
    at com.paypal.socialpay.controllers.APIController.handleRequest(APIController.java:73) 
    at com.paypal.socialpay.controllers.APIController.doPost(APIController.java:55) 
    at com.paypal.socialpay.controllers.APIController.doGet(APIController.java:49) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 

org.xml.sax.SAXParseException: Element type "hibernate-mapping" must be declared.

私のマッピングファイルには、以下の通りです

+0

誰もが同じような問題に直面しましたか? – Hozefa

+0

DOCTYPEで指定されたDTDが、プロジェクトに存在するDTDと一致しません。 – rags

+0

@rags:訂正する必要があることを教えてくれますか?私はエンコーディングタイプを指定しています。しかし、私はまだエラーが発生します。また、xmlファイルはhibernateによって自動生成されます。 – Hozefa

答えて

0

この現象は、開始時の<hibernate-mapping>タグの前にヘッダーに不正な文字が含まれている場合に発生します。これは印刷できない文字でもあります。

これが起こる可能性のあるその他の理由の1つは、間違った文字エンコーディングです。私のマッピングファイルの最初の行は常に言及したぼろとして

<?xml version="1.0" encoding="utf-8"?> 
+0

エンコードを追加しようとしましたが、同じエラーが表示されます。 – Hozefa

0

である、あなたはappropiateがCLASSPATHにjarファイルを休止状態に含まれている必要があります。詳細については

は、以下を参照してください。 http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html_single/#tutorial-firstapp-mapping

Hibernate will not load the DTD file from the web, but first look it up from the classpath of 
the application. The DTD file is included in hibernate-core.jar (it is also included in the 
hibernate3.jar, if using the distribution bundle). 
関連する問題