Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate не создается сессия / 7 сообщений из 7, страница 1 из 1
03.08.2012, 16:35:35
    #37903749
Hibernate не создается сессия
Возникает ошибка:

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
03.08.2012, 17:00:46
    #37903793
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate не создается сессия
Оставьте мап только на класс Video и проверьте
...
Рейтинг: 0 / 0
03.08.2012, 17:05:09
    #37903802
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate не создается сессия
Полностью stacktrace посмотрите. там должно быть ещё одно исключение. может и не одно.
...
Рейтинг: 0 / 0
03.08.2012, 17:14:44
    #37903819
mvn3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate не создается сессия
Владимир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
03.08.2012, 17:17:56
    #37903823
mvn3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate не создается сессия
Кстати, у меня были проблемы со стратегией AUTO, помогло

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

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

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


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