Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 11.03.2014
Сообщений: 162

Hubernate NullPointException

06.05.2015, 21:02. Показов 630. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка NullPointException. Можете плз сказать в чём ошибка, есть ли какие-нибудь действительно рабочие примеры по hibernate на русском?


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Factory {
    public static Factory instance = new Factory();
    public LessonDao lessonDao=null;
    
    private Factory() {}
    
    public static Factory getInstance()
    {
        return Factory.instance;
    }
    
   public LessonDao getLessonDao()
    {
        if(lessonDao == null) lessonDao = new LessonDaoImp();
        return lessonDao;
    }
}
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
public class HibernateUtil {
 
    private static final SessionFactory sessionFactory;
    
    static {
        try {
            // Create the SessionFactory from standard (hibernate.cfg.xml) 
            // config file.
         //  sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().
applySettings(configuration.getProperties());
sessionFactory = configuration.buildSessionFactory(builder.build());
 
        } catch (Throwable ex) {
            // Log the exception. 
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
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
36
37
@Entity
@Table(name="lesson")
public class Lesson {
    @Id
    @Column(name="id")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    @Column(name="subject")
    private String subject;
    @Column(name="code")
    private String code;
 
    public void setId(int id) {
        this.id = id;
    }
    public void setSubject(String subject) {
        this.subject = subject;
    }
 
    public void setCode(String code) {
        this.code = code;
    }
    
    public int getId() {
        return id;
    }
 
    public String getSubject() {
        return subject;
    }
 
    public String getCode() {
        return code;
    }
    
    
}
Java
1
2
3
4
5
6
public interface LessonDao {
    public void addLesson(Lesson lesson) throws SQLException;
    public void deleteLesson(Lesson lesson) throws SQLException;
    public Lesson getLesson(int id) throws SQLException;
    public  List<Lesson> getLessons() throws SQLException;
}
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
public class LessonDaoImp implements LessonDao{
 
   private Session session;
   LessonDaoImp(Session session)
   {
       this.session=session;
   }
 
    LessonDaoImp() {
      //  throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
 
    public void addLesson(Lesson lesson) throws SQLException {
       Session session = null;
       try{
           session = HibernateUtil.getSessionFactory().openSession();
           session.beginTransaction();
           session.save(lesson);
           session.getTransaction().commit();
       }catch(Exception e)
       {
           e.printStackTrace();
       }finally{
           if((session!= null)&& (session.isOpen())){session.close();}
       }
    }
 
   
    public void deleteLesson(Lesson lesson) throws SQLException {
       Session session = null;
       try{
           session = HibernateUtil.getSessionFactory().openSession();
           session.beginTransaction();
           session.delete(lesson);
           session.getTransaction().commit();
       }catch(Exception e)
       {
           e.printStackTrace();
       }finally{
           if((session!= null)&& (session.isOpen())){session.close();}
       }
    }
 
    
    public Lesson getLesson(int id) throws SQLException {
        Lesson result = null;
        
        Session session = null;
        try{
           session = HibernateUtil.getSessionFactory().openSession();
           result = (Lesson)session.load(Lesson.class, id);
       }catch(Exception e)
       {
           e.printStackTrace();
       }finally{
           if((session!= null)&& (session.isOpen())){session.close();}
       }
        return result;
    }
 
   
    public List<Lesson> getLessons() throws SQLException {
        List<Lesson> lessons = null;
        Session session = null;
        try{
           session = HibernateUtil.getSessionFactory().openSession();
           session.createCriteria(Lesson.class).list();
       }catch(Exception e)
       {
           e.printStackTrace();
       }finally{
           if((session!= null)&& (session.isOpen())){session.close();}
       }
        return lessons;     
    }
    
}
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
36
37
38
39
40
41
42
43
44
45
46
47
@Entity
@Table(name="student")
public class Student {
    @Id
    @Column(name="id")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
     @Column(name="fio")
    private String fio;
      @Column(name="ball")
    private int ball;
       @Column(name="lesson_id")
    private int lesson_id;
 
    public int getId() {
        return id;
    }
 
    public String getFio() {
        return fio;
    }
 
    public int getBall() {
        return ball;
    }
 
    public int getLesson_id() {
        return lesson_id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public void setFio(String fio) {
        this.fio = fio;
    }
 
    public void setBall(int ball) {
        this.ball = ball;
    }
 
    public void setLesson_id(int lesson_id) {
        this.lesson_id = lesson_id;
    }
    
}
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
public class StudentH {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws SQLException {
        // TODO code application logic here
       Factory factory = Factory.getInstance();
        LessonDao lessonDao = factory.getLessonDao();
        List<Lesson> lessons = lessonDao.getLessons();
        
        System.out.println("id   subject   code");
        
        for(Lesson lesson : lessons)
        {
            lesson.getId();
            lesson.getSubject();
            lesson.getCode();
            System.out.println(lesson.getId()+" "+lesson.getSubject()+" "+lesson.getCode());
        }
      /*  SessionFactory session =  HibernateUtil.getSessionFactory();
        try{
            LessonDaoImp lesson = new LessonDaoImp((Session) session);
            
        }
         finally{
            if(session!=null)
            {
                session.close();
            }
        }   */
    }   
      
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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">
 
<hibernate-configuration>
    <session-factory>
        
        
       <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
       <property name="hibernate.connection.driver.class">com.mysql.jdbc.Driver</property>
       <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mysql</property>
       <property name="hibernate.connection.username">root</property>
       <property name="hibernate.connection.password">root</property>
       
       <mapping class="studenth.Student"/>
       <mapping class="studenth.Lesson"/>
    </session-factory>
        
        </hibernate-configuration>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2015, 21:02
Ответы с готовыми решениями:

NullPointException при добавлении JLabel и JFormattedTextField
Разбираю пример по верификации из книжки Ошибка java.lang.NullPointerException JFormattedTextField intField=new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.05.2015, 21:52
Shokoladnaj, показали кучу бесполезного кода, а где ошибка не показали.
Стектрейс ошибки приведите.
0
3 / 3 / 2
Регистрация: 11.03.2014
Сообщений: 162
06.05.2015, 22:57  [ТС]
KEKCoGEN,

Exception in thread "main" java.lang.NullPointerException
id subject code
at studenth.StudentH.main(StudentH.java:30)
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.05.2015, 23:08
Shokoladnaj, полный трейс, а так же что написанно в строке 30?
0
3 / 3 / 2
Регистрация: 11.03.2014
Сообщений: 162
06.05.2015, 23:23  [ТС]
KEKCoGEN,
мая 06, 2015 4:59:36 PM org.hibernate.annotations.common.reflect ion.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
мая 06, 2015 4:59:36 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.1.Final}
мая 06, 2015 4:59:36 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
мая 06, 2015 4:59:36 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
мая 06, 2015 4:59:36 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
мая 06, 2015 4:59:36 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
мая 06, 2015 4:59:36 PM org.hibernate.internal.util.xml.DTDEntit yResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
мая 06, 2015 4:59:36 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
мая 06, 2015 4:59:36 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
мая 06, 2015 4:59:36 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000401: using driver [null] at URL [jdbc:mysql://localhost:3306/mysql]
мая 06, 2015 4:59:36 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****, driver.class=com.mysql.jdbc.Driver}
мая 06, 2015 4:59:36 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000006: Autocommit mode: false
мая 06, 2015 4:59:36 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
мая 06, 2015 4:59:37 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
мая 06, 2015 4:59:37 PM org.hibernate.engine.transaction.interna l.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
мая 06, 2015 4:59:37 PM org.hibernate.hql.internal.ast.ASTQueryT ranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
id subject code
java.lang.NullPointerException
at studenth.StudentH.main(StudentH.java:31) Вот полностью написано.

for(Lesson lesson : lessons) - ошибка
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.05.2015, 23:28
Shokoladnaj, это значит lessons = null. Запускайте дебаг и смотрите почему не приходит. Непонятно как вы взялить за сложный фреймворк, незная как делать дебаг программы....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru