【问题标题】:StringIndexOutOfBoundsException when using Hibernate使用 Hibernate 时出现 StringIndexOutOfBoundsException
【发布时间】:2012-03-28 05:31:59
【问题描述】:

我正在尝试通过 jsp/servlet Web 应用程序使用休眠将数据存储到 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)

谁能帮我解决这个问题?

【问题讨论】:

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

标签: java exception servlets jboss5.x


【解决方案1】:

你的休眠 xml 文件有问题。

例如。 “test.hbm.xml”

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多