2012-03-28 46 views
0

我想通過jsp/servlet網絡應用程序使用hibernate將數據存儲到MySql服務器本地安裝。使用休眠時StringIndexOutOfBoundsException

我所做的是我第一次嘗試併成功使用獨立的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) 

能有人幫我解決這個問題呢?

+0

調試併發布輸出。這會告訴你它正在窒息的映射文件。 – vikiiii 2012-03-28 05:37:31

+0

你可以顯示你的一些代碼嗎? – 2012-03-28 06:31:30

+0

我會注意這行:org.hibernate.mapping.Table.setSchema(Table.java:643)也許數據庫模式配置不好,甚至沒有指定。 – ka3ak 2012-03-28 05:36:44

回答

1

您的hibernate xml文件存在問題。

for ex。 「test.hbm.xml」

讀取hibernate映射文件時發生此異常。 也許你已經設置了列名或屬性名稱爲空或爲空。

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

設置屬性/列的正確名稱。