簡體   English   中英

Hibernate代碼無法正常工作,如何解決?

[英]Hibernate code is not working, how to fix?

之前的帖子中 ,我的hibernate配置文件存在一些未知問題。 一個人給了我另一個配置文件使用,並解決了舊的配置錯誤。 之后,我刪除了這些評論附近的代碼 - “! - 禁用緩存 - ”“! - UTF8到數據庫 - ”“! - 實體映射 - ”現在我收到一個新錯誤。 但它也引入了一個新的錯誤,如下所示。 我如何解決它 ?

org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
[main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.2.GA
[main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
[main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
[main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
[main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
[main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
[main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
[main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
Apr 17, 2013 3:10:39 AM org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: com.examscam.model.User
Apr 17, 2013 3:10:39 AM org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity com.examscam.model.User on table User
Apr 17, 2013 3:10:39 AM org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
[main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export
[main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - exporting generated schema to database
[main] INFO org.hibernate.connection.ConnectionProviderFactory - Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider
[main] INFO org.hibernate.connection.C3P0ConnectionProvider - C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://127.0.0.1:3306/test
[main] INFO org.hibernate.connection.C3P0ConnectionProvider - Connection properties: {useUnicode=true, user=root, password=****, characterEncoding=UTF-8}
[main] INFO org.hibernate.connection.C3P0ConnectionProvider - autocommit mode: false
Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/DataSources
    at org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:176)
    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79)
    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:51)
    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252)
    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211)
    at com.examscam.model.User.persist(User.java:48)
    at com.examscam.model.User.main(User.java:55)
Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.DataSources
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

XML -

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

    <session-factory>
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="connection.url">
            correct url
        </property>
        <property name="connection.username">root</property>
        <property name="connection.password">password</property>
        <property name="connection.driver_class">
            com.mysql.jdbc.Driver
        </property>

    </session-factory>

</hibernate-configuration>

c3p0-0.9.1.1.jar此jar添加到您的類路徑中。

它接縫像com.mchange.v2.c3p0.DataSources這個類在你的類路徑中不存在。

原因是項目庫中沒有c3p0.jar, 單擊下載並將zip文件中的c3p0-0.9.x.jar放入項目lib目錄中。 沒關系。

請注意c3p0的新版本,我下載了最新版本(c3p0-0.9.5-pre9),我在其他錯誤中遇到了幾個小時:

org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() 
for servlet default threw exception java.lang.ClassNotFoundException: 
java.lang.AutoCloseable at org.apache.catalina.loader.WebappClassLoader.loadClass

要么

java.lang.ClassNotFoundException: com.mchange.v2.c3p0.DataSources

我建議下載: c3p0-0.9.1並將所有jar導入到你的項目中。

我只是做了一個干凈的構建,這個問題消失了。 日食堆錯誤后發生在我身上。 我不得不重新運行eclipse,殺死tomcat進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM