Java 使用Hibernate时StringIndexOutOfBoundsException

Java 使用Hibernate时StringIndexOutOfBoundsException,java,exception,servlets,jboss5.x,Java,Exception,Servlets,Jboss5.x,我试图通过一个jsp/servlet web应用程序,使用hibernate将数据存储到MySql服务器本地安装 我首先尝试并成功地使用了一个独立的java应用程序,然后在同一个项目中添加了一个web模块并复制了工作代码 我在将web应用部署到jboss 5时遇到以下错误 The server encountered an internal error () that prevented it from fulfilling this request. java.lang.StringInde

我试图通过一个jsp/servlet web应用程序,使用hibernate将数据存储到MySql服务器本地安装


我首先尝试并成功地使用了一个独立的java应用程序,然后在同一个项目中添加了一个web模块并复制了工作代码

我在将web应用部署到jboss 5时遇到以下错误

The server encountered an internal error () that prevented it from fulfilling this request.

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    java.lang.String.charAt(String.java:686)
    org.hibernate.mapping.Table.setSchema(Table.java:643)
    org.hibernate.cfg.Mappings.addTable(Mappings.java:191)
    org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:312)
    org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:295)
    org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:166)
    org.hibernate.cfg.Configuration.add(Configuration.java:702)
    org.hibernate.cfg.Configuration.addInputStream(Configuration.java:537)
    org.hibernate.cfg.Configuration.addResource(Configuration.java:599)
    org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1621)
    org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1589)
    org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1568)
    org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1542)
    org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
    org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
    com.directfn.backend.servlet.PersistanceServlet.doGet(PersistanceServlet.java:46)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

有人能帮我解决这个问题吗?

您的hibernate xml文件中有问题

例如“test.hbm.xml”

读取hibernate映射文件时发生此异常。 可能是您已将列名或属性名设置为空或null



设置属性/列的正确名称。

我会注意行:org.hibernate.mapping.Table.setSchema(Table.java:643)可能DB schema配置不好,甚至没有指定。调试它并发布输出。这将告诉您它阻塞了哪个映射文件。我所做的是首先尝试并成功使用一个独立的java应用程序,然后在同一个项目中添加了一个web模块并复制了工作代码。DB模式怎么可能配置得不好,甚至没有指定呢?我只看到了您之前发布的堆栈跟踪以及引发异常的最后一条指令。我不知道你是如何“复制”工作代码的。可能服务器对配置文件使用了另一种编码。能否显示一些代码?

<property name="" type="java.lang.String">
        <column name=""></column>
</property>