当前位置:编程学习 > JAVA >>

org.apache.xerces.impl.dv.xs.ListDV$ListData 的问题

最近几天一直在纠结一个问题;
一直找不到是哪的问题。
我在Dao层。写了一个测试类。能从数据库中取出数据。
但是一但程序启动,就会报错。如果是配置文件的问题,但是为什么在DAO层还能取到数据呢?
这个程序中用到了 Hibernate struts2 spring 
但是为了排除问题,我写了一个单独的功能 去用 Hibernate 和 struts2 去实现。
结果就报了下面这样一个错误。
请高手帮忙解决一下!!!
程序报错
%%%% Error Creating SessionFactory %%%%
org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:102)
at org.hibernate.cfg.Configuration.add(Configuration.java:474)
at org.hibernate.cfg.Configuration.add(Configuration.java:470)
at org.hibernate.cfg.Configuration.add(Configuration.java:642)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:725)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2088)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2060)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2040)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1993)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1908)
at net.book.dao.jdbc.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:29)
at net.book.service.impl.ActivityServiceImpl.addActivity(ActivityServiceImpl.java:22)
at net.book.web.actions.ActivityAction.addActivity(ActivityAction.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.dom4j.DocumentException: org.apache.xerces.impl.dv.xs.ListDV$ListData cannot be cast to [Ljava.lang.Object; Nested exception: org.apache.xerces.impl.dv.xs.ListDV$ListData cannot be cast to [Ljava.lang.Object;
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:76)
... 124 more


--------------------编程问答-------------------- 读取XML时候的类型转换错误 --------------------编程问答-------------------- 可以怎么解决呢? --------------------编程问答-------------------- org.hibernate.InvalidMappingException: Unable to read XML;
很显然你是配置文件写错了,读取Mapping映射异常,找不到对应的配置字符或节点,你再仔细看看代码里所定义的一些用于配置映射的字符串,并检查在xml中是否还有其他的标签没添加,希望能帮到你!
--------------------编程问答-------------------- 我的配置文件 就这个。其他的没有
这个是个实体类,属性有如下:
private Integer id;
private String title;
private String content;
private String auther;
private Date create_time;

它的相应的配置文件是:
<hibernate-mapping>
    <class name="net.book.bean.Activity" table="activity" catalog="books">
        <id name="id" type="integer">
            <column name="id"/>
            <generator class="native" />
        </id>
        <property name="title" type="string">
            <column name="title"/>
        </property>
        <property name="auther" type="string">
            <column name="auther"/>
        </property>
        <property name="content" type="string">
         <column name="content"></column>
        </property>
         <property name="create_time" type="java.sql.Date">
         <column name="create_time"></column>
        </property>
    </class>
</hibernate-mapping>

Hibernate配置文件如下:
<hibernate-configuration>
<!--<session-factory>
<property name="show_sql">true</property>
<property name="myeclipse.connection.profile">runnew</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="connection.username">briup</property>
<property name="connection.password">briup</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
-->
<session-factory>
<!--驱动,同jdbc中的配置  -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- url -->
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/books</property>
<!-- 用户名 -->
<property name="connection.username">root</property>
<!-- 密码 -->
<property name="connection.password">root</property>

<!-- format_sql = true|false 格式化sql语句 -->
<!-- 是否打印hibernate生成的sql语句 -->
<property name="show_sql">true</property>
<!--<property name="connection.provider_class">
net.sf.hibernate.connection.DatasourceConnectionProvider
</property>
--><!-- 配置数据库言方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--<mapping resource="net/book/bean/BookChapter.hbm.xml"/>
<mapping resource="net/book/bean/BookInfo.hbm.xml"/>  
<mapping resource="net/book/bean/BookType.hbm.xml"/>
<mapping resource="net/book/bean/SysUser.hbm.xml"/>

<mapping resource="net/book/bean/BookShelfInfo.hbm.xml"/>
<mapping resource="net/book/bean/MemberInfo.hbm.xml"/>
<mapping resource="net/book/bean/Blackrecord.hbm.xml"/>
<mapping resource="net/book/bean/Friendrecord.hbm.xml"/>
<mapping resource="net/book/bean/Memberspace.hbm.xml"/>
<mapping resource="net/book/bean/Messagerecord.hbm.xml"/>
-->
<property name="myeclipse.connection.profile">mysql</property>
<mapping resource="net/book/bean/Activity.hbm.xml" />
</session-factory>
</hibernate-configuration>
--------------------编程问答--------------------  at net.book.service.impl.ActivityServiceImpl.addActivity(ActivityServiceImpl.java:22)
net.book.service.impl.ActivityServiceImpl.addActivity这个方法里的错误;
转换类型写错了:[Ljava.lang.Object
--------------------编程问答-------------------- 最后找到问题所在了.是包冲突了..... --------------------编程问答-------------------- 楼主那几个包冲突了,今天遇到同样的问题,回复我啊,急死了 --------------------编程问答--------------------
引用 7 楼  的回复:
楼主那几个包冲突了,今天遇到同样的问题,回复我啊,急死了

好长时间没来了,具体的是哪个现在也不清楚了,当时是做毕业设计....
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,