Java论坛网»Java技术»Hibernate创建Sessionfactory时出错 找不出原因?
Hibernate创建Sessionfactory时出错 找不出原因?
问?:
执行这句时Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory(); (在这句执行时后台信息:)
[2006-09-04 13:15:33,324] 192805 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing one-to-many association mappings
[2006-09-04 13:15:33,324] 192805 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing one-to-one association property references
[2006-09-04 13:15:33,340] 192821 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing foreign key constraints
[2006-09-04 13:15:33,934] 193415 INFO http-8080-Processor25 net.sf.hibernate.dialect.Dialect - Using dialect: net.sf.hibernate.dialect.Oracle9Dialect
[2006-09-04 13:15:34,215] 193696 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - JDBC result set fetch size: 50
[2006-09-04 13:15:34,215] 193696 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use outer join fetching: true
[2006-09-04 13:15:34,293] 193774 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
[2006-09-04 13:15:34,293] 193774 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
[2006-09-04 13:15:36,153] 195634 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@192.168.0.18:1521:DOSS
[2006-09-04 13:15:36,153] 195634 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=doss, password=doss}
[2006-09-04 13:15:36,215] 195696 INFO http-8080-Processor25 net.sf.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
[2006-09-04 13:15:36,293] 195774 INFO http-8080-Processor25 net.sf.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
[2006-09-04 13:15:42,700] 202181 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use scrollable result sets: true
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use JDBC3 getGeneratedKeys(): false
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: false
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Query language substitutions: {}
[2006-09-04 13:15:42,731] 202212 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - cache provider: net.sf.hibernate.cache.EhCacheProvider
页面出错信息:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: net/sf/ehcache/CacheException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:445)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1610)
java.lang.Class.getConstructor0(Class.java:1922)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:142)
net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1172)
net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:803)
com.stt.doss.util.SessionManager.<clinit>(SessionManager.java:23)
com.stt.doss.util.ShowTag.init(ShowTag.java:173)
com.stt.doss.util.ShowTag.doStartTag(ShowTag.java:151)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
希望能从你们这里得到正解 谢谢
SessionFactory sessionFactory = configuration.buildSessionFactory(); (在这句执行时后台信息:)
[2006-09-04 13:15:33,324] 192805 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing one-to-many association mappings
[2006-09-04 13:15:33,324] 192805 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing one-to-one association property references
[2006-09-04 13:15:33,340] 192821 INFO http-8080-Processor25 net.sf.hibernate.cfg.Configuration - processing foreign key constraints
[2006-09-04 13:15:33,934] 193415 INFO http-8080-Processor25 net.sf.hibernate.dialect.Dialect - Using dialect: net.sf.hibernate.dialect.Oracle9Dialect
[2006-09-04 13:15:34,215] 193696 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - JDBC result set fetch size: 50
[2006-09-04 13:15:34,215] 193696 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use outer join fetching: true
[2006-09-04 13:15:34,293] 193774 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
[2006-09-04 13:15:34,293] 193774 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
[2006-09-04 13:15:36,153] 195634 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@192.168.0.18:1521:DOSS
[2006-09-04 13:15:36,153] 195634 INFO http-8080-Processor25 net.sf.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=doss, password=doss}
[2006-09-04 13:15:36,215] 195696 INFO http-8080-Processor25 net.sf.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
[2006-09-04 13:15:36,293] 195774 INFO http-8080-Processor25 net.sf.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
[2006-09-04 13:15:42,700] 202181 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use scrollable result sets: true
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Use JDBC3 getGeneratedKeys(): false
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: false
[2006-09-04 13:15:42,715] 202196 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - Query language substitutions: {}
[2006-09-04 13:15:42,731] 202212 INFO http-8080-Processor25 net.sf.hibernate.cfg.SettingsFactory - cache provider: net.sf.hibernate.cache.EhCacheProvider
页面出错信息:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: net/sf/ehcache/CacheException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:445)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1610)
java.lang.Class.getConstructor0(Class.java:1922)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:142)
net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1172)
net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:803)
com.stt.doss.util.SessionManager.<clinit>(SessionManager.java:23)
com.stt.doss.util.ShowTag.init(ShowTag.java:173)
com.stt.doss.util.ShowTag.doStartTag(ShowTag.java:151)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
希望能从你们这里得到正解 谢谢
答!: 1:
你看看是不是你没有将ehcache-x.x.jar放到classpath,我用的是1.2版本,看看你的版本是否太旧之类了
答!: 2:
同意楼上
问题的原因是类没找到
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
问题的原因是类没找到
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
答!: 3:
嗯 按你说的做了 但现在出现新的异常
[2006-09-04 13:51:49,775] 140879 WARN Finalizer net.sf.hibernate.connection.DriverManagerConnectionProvider - problem closing pooled connection
java.sql.SQLException: Io 异常: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1442)
at net.sf.hibernate.connection.DriverManagerConnectionProvider.close(DriverManagerConnectionProvider.java:148)
at net.sf.hibernate.connection.DriverManagerConnectionProvider.finalize(DriverManagerConnectionProvider.java:138)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
[2006-09-04 13:51:49,775] 140879 WARN Finalizer net.sf.hibernate.connection.DriverManagerConnectionProvider - problem closing pooled connection
java.sql.SQLException: Io 异常: Socket closed
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1442)
at net.sf.hibernate.connection.DriverManagerConnectionProvider.close(DriverManagerConnectionProvider.java:148)
at net.sf.hibernate.connection.DriverManagerConnectionProvider.finalize(DriverManagerConnectionProvider.java:138)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
答!: 4:
页面上报错为
java.lang.NoClassDefFoundError: net/sf/cglib/core/KeyFactory
net.sf.hibernate.impl.SessionFactoryImpl.<clinit>(SessionFactoryImpl.java:237)
net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:805)
com.stt.doss.util.SessionManager.<clinit>(SessionManager.java:23)
com.stt.doss.util.ShowTag.init(ShowTag.java:173)
com.stt.doss.util.ShowTag.doStartTag(ShowTag.java:151)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
java.lang.NoClassDefFoundError: net/sf/cglib/core/KeyFactory
net.sf.hibernate.impl.SessionFactoryImpl.<clinit>(SessionFactoryImpl.java:237)
net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:805)
com.stt.doss.util.SessionManager.<clinit>(SessionManager.java:23)
com.stt.doss.util.ShowTag.init(ShowTag.java:173)
com.stt.doss.util.ShowTag.doStartTag(ShowTag.java:151)
org.apache.jsp.sp.spinfo.ListSpInfo_jsp._jspService(ListSpInfo_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
答!: 5:
我又少了哪个包呢?
相关JAVA教程:
jsp函数调用的问题
请高手帮忙,spring+hibernate +struts +jboss 或者tomcat+sqlserver2000
webwork2中的action
求HIBENATE的源代码下载地址
大家推荐一下关于架构方面的书!
我写的关于struts的问题
请问如何判断按钮被按下和其需执行的操作
把weblogic移到JBoss上面的方法。
有没有办法知道调用EJB的客户端的IP地址?
各位大侠帮哈我!!!
求关于怎么改变界面的肤色方案
有人用过ireport生成excel报表吗?