Hibernate问题
照着别人现成的例子都没成功,实在是看不出那里出错,请各位高手看看。
错误提示:
2005-1-3 11:55:23 net.sf.hibernate.cfg.Environment <clinit>
信息: Hibernate 2.1.2
2005-1-3 11:55:23 net.sf.hibernate.cfg.Environment <clinit>
信息: hibernate.properties not found
2005-1-3 11:55:23 net.sf.hibernate.cfg.Environment <clinit>
信息: using CGLIB reflection optimizer
2005-1-3 11:55:23 net.sf.hibernate.cfg.Configuration configure
信息: configuring from resource: /hibernate.cfg.xml
2005-1-3 11:55:23 net.sf.hibernate.cfg.Configuration getConfigurationInputStream
信息: Configuration resource: /hibernate.cfg.xml
2005-1-3 11:55:24 net.sf.hibernate.cfg.Configuration addResource
信息: Mapping resource: com/j/po/Cat.hbm.xml
2005-1-3 11:55:24 net.sf.hibernate.cfg.Binder bindRootClass
信息: Mapping class: com.j.po.Cat -> CAT
2005-1-3 11:55:24 net.sf.hibernate.cfg.Configuration doConfigure
信息: Configured SessionFactory: null
2005-1-3 11:55:24 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing one-to-many association mappings
2005-1-3 11:55:24 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing one-to-one association property references
2005-1-3 11:55:24 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing foreign key constraints
2005-1-3 11:55:25 net.sf.hibernate.dialect.Dialect <init>
信息: Using dialect: net.sf.hibernate.dialect.Oracle9Dialect
2005-1-3 11:55:25 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: JDBC result set fetch size: 50
2005-1-3 11:55:25 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use outer join fetching: true
2005-1-3 11:55:25 net.sf.hibernate.connection.DriverManagerConnectionProvider configure
信息: Using Hibernate built-in connection pool (not for production use!)
2005-1-3 11:55:25 net.sf.hibernate.connection.DriverManagerConnectionProvider configure
信息: Hibernate connection pool size: 20
2005-1-3 11:55:25 net.sf.hibernate.connection.DriverManagerConnectionProvider configure
信息: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@localhost:1521:andydata
2005-1-3 11:55:25 net.sf.hibernate.connection.DriverManagerConnectionProvider configure
信息: connection properties: {user=scott, password=tiger, pool.size=20}
2005-1-3 11:55:25 net.sf.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
信息: No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use scrollable result sets: true
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use JDBC3 getGeneratedKeys(): false
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Optimize cache for minimal puts: false
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: echoing all SQL to stdout
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Query language substitutions: {}
2005-1-3 11:55:30 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: cache provider: net.sf.ehcache.hibernate.Provider
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.j.util.DBTest.insertCat(DBTest.java:18)
at com.j.util.DBTest.main(DBTest.java:57)
Caused by: java.lang.RuntimeException: Exception building SessionFactory: could not instantiate CacheProvider: net.sf.ehcache.hibernate.Provider
at com.j.util.HibernateUtil.<clinit>(HibernateUtil.java:19)
... 2 more
Caused by: net.sf.hibernate.HibernateException: could not instantiate CacheProvider: net.sf.ehcache.hibernate.Provider
at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:133)
at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1119)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:748)
at com.j.util.HibernateUtil.<clinit>(HibernateUtil.java:16)
... 2 more
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.hibernate.Provider
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:86)
at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:130)
... 5 more
我的hibernamt.cfg.xml:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:testdata</property>
<property name="hibernate.dialect">net.sf.hibernate.dialect.Oracle9Dialect</property>
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">tiger</property>
<property name="hibernate.connection.pool.size">20</property>
<property name="hibernate.show_sql">true</property>
<property name="jdbc.fetch_size">50</property>
<property name="jdbc.batch_size">25</property>
<property name="jdbc.use_scrollable_resultset">true</property>
<!-- Mapping files -->
<mapping resource="com/j/po/Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration>
问题点数:100、回复次数:3Top
1 楼yujiebo025(独舞黄纱)回复于 2005-01-03 15:04:08 得分 50
检查lib目录下是否有ehcache.jar文件Top
2 楼redex(cc)回复于 2005-01-03 15:05:54 得分 50
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.hibernate.ProviderTop
3 楼hanIyan(寒)回复于 2005-01-03 17:19:20 得分 0
问题解决,原因果然是 lib 下没有引入ehcache.jar,但是还有一点不明白,
hibernate/lib/readme.txt 文件中写明:
ehcache.jar (0.6)
- EHCache cache
- runtime, optional
这不是说该文件可选吗?
我的hibernate.cfg.xml中并没有哪个属性设置 ehcache呀,
为什么运行时却需要该文件。
是不是写着 runtime ,就必须在运行时加入该文件?
谢谢上面两位,回复的真快呀。
Top




