powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate не создается сессия
7 сообщений из 7, страница 1 из 1
Hibernate не создается сессия
    #37903749
Возникает ошибка:

Console[skip]
Initial SessionFactory creation failed.org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.media.HibernateUtil.<clinit>(HibernateUtil.java:38)
[skip]

В чём может быть проблема, если кода всего ничего, вот он?

hibernate.cfg.xml
Код: xml
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.
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5432/mybase</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">123Qazws</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">update</property>

        <!-- Names the annotated entity class -->
        <mapping class="org.media.Actor"/>
        <mapping class="org.media.Video"/>
        <mapping class="org.media.Cast"/>

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



класс entity:
Video.java
Код: 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.
package org.media;

import javax.persistence.*;

@Entity
@Table(name= "video")
public class Video {

	@Id
	@Column(name= "id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	
	@Column(name= "description", length=64)
	private String description;
	
	public void setId(Long id){this.id = id;}
	public Long getId(){return id;}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getDescription() {
		return description;
	}
}



HibernateUtil.java
Код: 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.
package org.media;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.*;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class HibernateUtil {

    private static final SessionFactory sessionFactory;

    static {
        try {
        	
       	
        	ServiceRegistry serviceRegistry;
        	
            Configuration configuration = new Configuration();
            configuration.configure();
            serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();        
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
        	
            //sessionFactory = new Configuration().configure().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 SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}



MyMain.java
Код: 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.
package org.media;

import org.hibernate.Session;

public class MyMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	/*	AnnotationConfiguration aconf = new AnnotationConfiguration()
	      .addAnnotatedClass(Video.class)
	      .addAnnotatedClass(Actor.class)
	      .addAnnotatedClass(Cast.class);
      Configuration conf = aconf.configure();*/
      
	  		
      Video video = new Video();
      video.setId(new Long(1));
      video.setDescription("First");
      
      Actor actor = new Actor();
      actor.setId(new Long(1));
      
      actor.setName("Firth");
      Cast cast = new Cast();
      cast.setVideo(video); 
      cast.setActor(actor);

      Session session = HibernateUtil.getSessionFactory().openSession();

      //Session session = conf.configure().buildSessionFactory(); //.getSessionFactory(); 
    		  //factory.openSession();
      session.beginTransaction();
      //session.saveOrUpdate(actor);
      session.saveOrUpdate(video);
      //session.saveOrUpdate(cast);
      session.getTransaction().commit();
      session.close();
      
	}

}
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903793
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оставьте мап только на класс Video и проверьте
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903802
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полностью stacktrace посмотрите. там должно быть ещё одно исключение. может и не одно.
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903819
mvn3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир1971,

Код: java
1.
2.
3.
4.
@Id
	@Column(name= "id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;



Зачем явно инициализировать ключ сущности если выбран тип AUTO?

Код: java
1.
2.
3.
Video video = new Video();
video.setId(new Long(1));    //// ?????
video.setDescription("First");
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903823
mvn3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, у меня были проблемы со стратегией AUTO, помогло

Код: java
1.
2.
@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903829
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvn3, Какие были проблемы? IDENTITY будет работать если такая возможность есть у субд.
...
Рейтинг: 0 / 0
Hibernate не создается сессия
    #37903856
mvn3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapeckermvn3, Какие были проблемы? IDENTITY будет работать если такая возможность есть у субд.

Ну стек экспшона не выведу, это было давно, но при связке

Spring + JPA(Hibernate) + Postgree не персистил
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate не создается сессия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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