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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate java.lang.ExceptionInInitializerError 
:(
    Опции темы
unkis
  Дата 6.3.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ребята помогите понять почему вылетает вот такая вот ошибка
Код

java.lang.ExceptionInInitializerError


есть вот такой класс:

Код

package hiber;

// Generated 06.03.2007 17:38:34 by Hibernate Tools 3.2.0.b9

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Client generated by hbm2java
 */
@Entity
@Table(name = "CLIENT") 
public class Client implements java.io.Serializable {

    private Long id;

    private String name;

    private String vorName;

    public Client() {
    }

    public Client(String name, String vorName) {
        this.name = name;
        this.vorName = vorName;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", nullable = false)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "name")
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "vorName")
    public String getVorName() {
        return this.vorName;
    }

    public void setVorName(String vorName) {
        this.vorName = vorName;
    }

}



вот такой класс отвечающей за соединение

Код

package hiber ;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;


public class ClientUtil {
   private static EntityManagerFactory emf;

   public static EntityManagerFactory getEntityManagerFactory() {
      if (emf == null ) {
         // todo change the entity persistence unit name
         emf = Persistence.createEntityManagerFactory("ClientUtil");
      }
      return emf;
   } 

   public static void closeEntityManagerFactory () {
       if (emf != null ) {
          emf.close();
       }
   }
}


вот такой вот фасад
Код

package hiber;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;

public class ClientFacade { 
    public void saveClient(Client client) {
        EntityManagerFactory emf = hiber.ClientUtil.getEntityManagerFactory();
        EntityManager em = emf.createEntityManager();
        em.persist(client);
        em.close();   
    }
    
    public void generate(){
     Client c = new Client();
     c.setName("Pupkin");
     c.setVorName("Vasya");
     saveClient(c);
     
     
    }
}


вот так выглядит мой persistence.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence">
    <persistence-unit name="ClientUtil">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>hiber.Client</class>
            <properties>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost/auktion"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            <property name="hibernate.connection.username" value="root"/>
            <property name="hibernate.connection.password" value="*****"/>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.max_fetch_depth" value="3"/>
        </properties>
    </persistence-unit>
</persistence>


и вот так вот я это запускаю

Код

public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClientFacade cf = new ClientFacade();
        cf.generate();

    }


вылитает следующая ошибка
Код

log4j:WARN No appenders could be found for logger (org.hibernate.ejb.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.hibernate.cfg.Configuration.reset(Configuration.java:168)
    at org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:211)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:187)
    at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:91)
    at org.hibernate.ejb.Ejb3Configuration.<init>(Ejb3Configuration.java:127)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:119)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
    at hiber.Example.<init>(Example.java:21)
    at hiber.Example.main(Example.java:116)
Caused by: java.lang.NullPointerException
    at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:144)
    at org.hibernate.cfg.Environment.<clinit>(Environment.java:524)
    ... 9 more



Из-за чего это ошибка, и как её исправить?


--------------------
www.unkis.com
PM MAIL WWW   Вверх
unkis
Дата 7.3.2007, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



народ, неужели это только у меня такая ошибка, никто не знает как с этим бороться?


--------------------
www.unkis.com
PM MAIL WWW   Вверх
tux
Дата 7.3.2007, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(unkis @  7.3.2007,  01:49 Найти цитируемый пост)
народ, неужели это только у меня такая ошибка, никто не знает как с этим бороться? 

Да конечно только у тебя. Если бы была бы еще у кого-то, он бы уже здесь давно кричал точно также. 

Если заглянуть в исходники (а для чего еще нужен open-source), то можно определить, что исключение NullPointerException (а ни какой не ExceptionInInitializerError) валится на этапе поиска в CLASSPATH ресурсов, необходимых для конфигурирования. Собственно, это недосмотр самого Hibernate в том плане, что он должен проверять ссылки, к которым обращается на null. Но здесь такая ситуация, что Hibernate пожалуй и не виноват. Исключение валится скорее всего из-за того, что ссылка на возвращаемый загрузчик класса равна null. Что говорит о бреде у JBoss (это в нем ведь EJB3 пытаются работать?). Что могу посоветовать. Да ничего конкретного. Проверь свои файлы конфигурации, там ли лежат где надо. Измени конфигурацию приложения (не знаю как). Откажись в конце концов от EJB3 до лучших времен.
PM MAIL Skype GTalk Jabber YIM   Вверх
unkis
Дата 7.3.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(tux @  7.3.2007,  00:05 Найти цитируемый пост)
Откажись в конце концов от EJB3 до лучших времен. 


спасибо, а что же тогда использовать, я имею ввиду я не хочу мапить классы через xml, а хочу использовать для этого annotation.

Добавлено @ 11:38 
может быть xDoclet, но мне кажется что он уже не актуален.


--------------------
www.unkis.com
PM MAIL WWW   Вверх
tux
Дата 7.3.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(unkis @  7.3.2007,  11:37 Найти цитируемый пост)
может быть xDoclet, но мне кажется что он уже не актуален. 

XDoclet умеет только описатели XML генерировать, он тут ни причем. Скорее всего проблема в неправильном конфигурировании, только вот где, понятия не имею.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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