Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / NoSuchMethodError: orphanRemoval() , Hibernate + smartGWT / 2 сообщений из 2, страница 1 из 1
26.07.2012, 10:13:38
    #37893303
faceless
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoSuchMethodError: orphanRemoval() , Hibernate + smartGWT
Здравствуйте! Я написал код, обеспечивающий доступ к БД через hibernate, в виде отдельного проекта, код в этом проекте работает нормально. Но, когда я вставил этот код в проект smartGWT, то при его использовании возникает ошибка
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z.

Ошибка отлавливается в catch-блоке, который в блоке static-инициализации следующего класса
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
 
    final static String constConfig="hibernate.cfg.xml";
    private static SessionFactory sessionFactory;
    public static Configuration conf;
 
    static {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            conf=new Configuration();
            conf.addAnnotatedClass(DivHistory.class);
            conf.addAnnotatedClass(Division.class);
            conf.addAnnotatedClass(EmployeeHistory.class);
            conf.addAnnotatedClass(Person.class);
            conf.addAnnotatedClass(Post.class);
            sessionFactory = conf.configure(constConfig).buildSessionFactory();
            
        } catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static Configuration getConfig() {
        return conf;
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}



Трассировка работы выглядит следующим образом:
консоль вывода126 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
136 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final
138 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
142 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
146 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
228 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: hibernate.cfg.xml
228 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: hibernate.cfg.xml
309 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
388 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: com.summwork.client.DivHistory
436 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity com.summwork.client.DivHistory on table div_hisory
522 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: com.summwork.client.Division
522 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity com.summwork.client.Division on table Division
Initial SessionFactory creation failed.java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.summwork.client.HibernateUtil.<clinit>(HibernateUtil.java:26)
at com.summwork.client.DBManager.getAllPosts(DBManager.java:103)
at com.summwork.client.DBManager.testDBManager(DBManager.java:874)
at com.summwork.client.DBManager.main(DBManager.java:956)
Caused by: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.ja va:1912)
at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBin der.java:796)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:707)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue (Configuration.java:4035)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuratio n.java:3989)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1398)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1856)
at com.summwork.client.HibernateUtil.<clinit>(HibernateUtil.java:22)
... 3 more


Из-за чего может возникать эта ошибка и есть ли какой-либо способ избавиться от этой неё?
...
Рейтинг: 0 / 0
26.07.2012, 10:25:04
    #37893337
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NoSuchMethodError: orphanRemoval() , Hibernate + smartGWT
Где-то с либами накосячили. orphanRemoval появился в JPA2.0. Хибер его использует. А у вас аннотации из какой-то либы с JPA1.x.
Подробности
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / NoSuchMethodError: orphanRemoval() , Hibernate + smartGWT / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]