【发布时间】: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