Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NoSuchMethod:orphanRemoval. Hibernate + smartGWT, рабочий код в smartGWT не работает 
:(
    Опции темы
YaMolekula
Дата 26.7.2012, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 4.9.2011

Репутация: нет
Всего: нет



Здравствуйте! Я написал код, обеспечивающий доступ к БД через hibernate, в виде отдельного проекта, код в этом проекте работает нормально. Но, когда я вставил этот код в проект smartGWT, то при его использовании возникает ошибка
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z

 Ошибка отлавливается в catch-блоке в следующего класса, в блоке статической инициализации
Код

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) {
            // здесь ловится эта ошибка
            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


Из-за чего может возникать эта ошибка и есть ли какой-либо способ избавиться от этой неё?

Это сообщение отредактировал(а) YaMolekula - 26.7.2012, 09:33
PM MAIL   Вверх
jk1
Дата 26.7.2012, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 5
Всего: 75



Цитата

 Caused by: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()


Скорее всего в этом проекте уже был Hibernate, причем другой версии. Поищите дубликаты хибовских библиотек в classpath.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.