2

これが私の構成です。

そのようなメソッドは見つかりませんでしたが、Java ドキュメントと Util ファイルの両方に存在します。hibernate 3 と 4 でクロス構成されていることをどこかで読みました。これはわかりません…</p>

 <!DOCTYPE hibernate-configuration SYSTEM
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
        <hibernate-configuration>
            <session-factory>   


                <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
                <property name="connection.url">jdbc:mysql://localhost/datacenter</property>
                <property name="connection.username">root</property>
                <property name="connection.password">admin</property>  


                <property name="dialect">org.hibernate.dialect.MySQLDialect</property>      
                <property name="current_session_context_class">thread</property>
                <property name="show_MySql">TRUE</property>
                <property name="format_sql">TRUE</property>
                <property name="jboss.as.jpa.providerModule">hibernate3-bundled</property>


                <property name="hibernate.hbm2ddl.auto">update</property>
                <property name="hibernate.cache.use_second_level_cache">true</property>
               <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property> 

                <!-- List of annotated classes-->
                <!-- Associations -->
                <!-- One to one -->
                <mapping class="Emp_Timecard" />
                <mapping class="maindoor" />
                <mapping class="serverroom" />
                <mapping class="timesheet" />
                <mapping class="hibernatepojos.Resource_list"/>


            </session-factory>
        </hibernate-configuration>

これは私のUtilファイルです:

package hibernatedata;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {

    private static SessionFactory sessionFactory;
    private static AnnotationConfiguration config1;

    static {
        config1 = (AnnotationConfiguration) new AnnotationConfiguration()
                .configure("hibernate.cfg.xml");

    }

    public static SessionFactory getSessionFactory() {
        if (sessionFactory == null) {

            createSessionfactory();
        } 
        return sessionFactory;

    }

    private static void createSessionfactory() {
        sessionFactory = config1.buildSessionFactory();

    }

    public static Session openSession() {

        return getSessionFactory().getCurrentSession();
    }

    public static void closeSessionFactory() {

        // getSessionFactory().close();
    }

    public static void save(Object o) {
        Session s = openSession();
        System.out.println("kejrkvg");
        s.beginTransaction();
        s.save(o);
        s.getTransaction().commit();
        // s.close();
        // s.clear();
        if (s.isOpen()) {

            s.close();
        }
        closeSessionFactory();
    }

    public static void delete(Object o) {
        Session s = openSession();
        s.beginTransaction();
        s.delete(o);
        s.getTransaction().commit();
        // s.close();
    }

    public static <T> T load(Class<T> clazz, int id) {
        Session s = openSession();
        s.beginTransaction();
        T t = clazz.cast(s.load(clazz, id));
        // s.getTransaction().commit();

        return t;

    }

    public static void update1(Object o) {
        Session s = openSession();
        s.beginTransaction();
        s.update(o);
        s.getTransaction().commit();
        // s.close();
    }

}
4

2 に答える 2

1

そのようなメソッドは見つかりませんでしたが、Javaドキュメントには十分に存在します

エラーは、コードのコンパイル時ではなく、実行時に生成されます。したがって、コードの一部がコードのあるバージョンに対してコンパイルされたように見えますが、別の、おそらく古いバージョンで再度実行されます。完全なスタック トレースには、非互換性の場所に関する詳細情報が含まれます。

疑問がある場合は、 を使用javapして、特定のシステムの特定のクラス パスからロードされたクラスに実際にそのメソッドが含まれているかどうかを確認できます。使用する予定のクラスパスがそのメソッドを提供していない場合は、正しいバージョンのライブラリをそのパスにインストールする必要がある場合があります。一方、そこでも正しいように見える場合、これは、予期したものとは異なるクラスがロードされていることを示しています。その後、デバッグ コードを追加して、そのクラスのロードに使用されたクラス ローダーを特定し、実際のソースを確認できます。

于 2013-01-16T13:18:09.813 に答える