Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
1

Hibernate начало

08.04.2016, 16:05. Просмотров 1755. Ответов 21
Метки нет (Все метки)

Здравствуйте. Начал изучать Hibernate, появилась одна проблема. Ошибка java.lang.ExceptionInInitializerError. Расскажу все по порядку как делаю. В Eclipse создаю новый проект. Вставляю библиотеки postreSQL и hibernate. Создаю классы HibernateUtil, Main и User:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
    private static SessionFactory sessionFactory = null;
 
    static {
        Configuration cfg = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(cfg.getProperties());
        sessionFactory = cfg.buildSessionFactory(builder.build());
    }
 
    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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import java.io.Serializable;
 
public class User implements Serializable {
 
    private static final long serialVersionUID = Long.MIN_VALUE;
 
    private long id;
 
    private int age;
 
    private String firstname;
 
    private String lastname;
 
    public User() {
 
    }
 
    public User(long id) {
        this.id = id;
    }
 
    public long getId() {
        return id;
    }
 
    public void setId(long id) {
        this.id = id;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public String getFirstname() {
        return firstname;
    }
 
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
 
    public String getLastname() {
        return lastname;
    }
 
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
import org.hibernate.SessionFactory;
 
public class Main {
 
    public static void main(String[] args) {
        SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
 
    }
 
}
Также делаю конфиги hibernate.cfg.xml и user.cfg.xml:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/demo</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.password">******</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">create</property>
        <property name="hibernate.jdbc.lob.non_contextual_creation">true</property>
 
        <mapping resources="user.cfg.xml" />
 
    </session-factory>
</hibernate-configuration>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="User" table="user">
        <id name="id" column="id">
            <generator class="native" />
        </id>
        <property name="firstname" column="firstname" type="string"/>
        <property name="lastname" column="lastname" type="string"/>
        <property name="age" column="age" type="int"/>
    </class>
</hibernate-mapping>
Ну и при выполнении маина соответственно вылазит ExceptionInInitializerError. Вот что пишет:

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
апр 08, 2016 3:47:54 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
апр 08, 2016 3:47:54 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.max_fetch_depth=5, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.pool_size=5}
апр 08, 2016 3:47:54 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
апр 08, 2016 3:47:54 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity
WARN: HHH90000012: Recognized obsolete hibernate namespace [url]http://hibernate.sourceforge.net/hibernate-configuration[/url]. Use namespace [url]http://www.hibernate.org/dtd/hibernate-configuration[/url] instead.  Support for obsolete DTD/XSD namespaces may be removed at any time.
Exception in thread "main" java.lang.ExceptionInInitializerError
    at Main.main(Main.java:7)
Caused by: org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number -1 and column -1 in RESOURCE hibernate.cfg.xml. Message: cvc-complex-type.3.2.2: Attribute 'resources' is not allowed to appear in element 'mapping'.
    at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:133)
    at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
    at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:163)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:259)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:245)
    at HibernateUtil.<clinit>(HibernateUtil.java:10)
    ... 1 more
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; cvc-complex-type.3.2.2: Attribute 'resources' is not allowed to appear in element 'mapping'.]
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:468)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:448)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:420)
    at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:126)
    ... 7 more
Caused by: org.xml.sax.SAXParseException; cvc-complex-type.3.2.2: Attribute 'resources' is not allowed to appear in element 'mapping'.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2707)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2050)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740)
    at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.startElement(ValidatorHandlerImpl.java:570)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:86)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:60)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXEventConnector.handleStartElement(StAXEventConnector.java:246)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXEventConnector.bridge(StAXEventConnector.java:115)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:445)
    ... 9 more
Если запустить без мапинга, то пишет следующее:

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
апр 08, 2016 4:01:27 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
апр 08, 2016 4:01:27 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.max_fetch_depth=5, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.pool_size=5}
апр 08, 2016 4:01:27 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
апр 08, 2016 4:01:27 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity
WARN: HHH90000012: Recognized obsolete hibernate namespace [url]http://hibernate.sourceforge.net/hibernate-configuration[/url]. Use namespace [url]http://www.hibernate.org/dtd/hibernate-configuration[/url] instead.  Support for obsolete DTD/XSD namespaces may be removed at any time.
апр 08, 2016 4:01:27 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/demo]
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=postgres, password=****}
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 5 (min=1)
апр 08, 2016 4:01:27 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
апр 08, 2016 4:01:27 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
INFO: HHH000421: Disabling contextual LOB creation as hibernate.jdbc.lob.non_contextual_creation is true
апр 08, 2016 4:01:27 PM org.hibernate.type.BasicTypeRegistry register
INFO: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@638011
апр 08, 2016 4:01:27 PM org.hibernate.envers.boot.internal.EnversServiceImpl configure
INFO: Envers integration enabled? : true
апр 08, 2016 4:01:28 PM org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@aca91a'
Как я понял, здесь тоже не все гладко...(( Обьясните пожалуйста на каком этапе я делаю что-то не правильно. Сразу извиняюсь если, при описании шагов, что-то упистил. Я еще в этом деле чайник, поэтому не судите строго)).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2016, 16:05
Ответы с готовыми решениями:

Intellij idea + Hibernate начало работы
Здравствуйте! Нашла много информации о том, как работать с Hibernate, однако...

Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
Доброго времени суток. Сталкиваюсь со всякими ошибками при добавлении данных в...

Hibernate
Написал я конфигурацию, написал Entity Book и Author и Repository к ним. И...

Hibernate
Привет. Вкратце опишу ситуацию. В проекте используется Hibernate для работы с...

hibernate
погуглил в нете, а тоолковой статьи так и не нашел м.б. подскажете чтонить с...

21
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
08.04.2016, 21:46 2
dispetch, ссылка на ваш проект на githubе значительно ускорит/увеличит вероятность ответа.
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
08.04.2016, 22:00  [ТС] 3
Цитата Сообщение от reisal78 Посмотреть сообщение
dispetch, ссылка на ваш проект на githubе значительно ускорит/увеличит вероятность ответа.
Так в том то и дело что нету пока никакого проекта. Я только разбираюсь с hibernate. А именно такие классы получились потому, что по видео курсу который я прохожу, приводят такой пример. Человеку, автору курса, написать нет возможности, поэтому решил спросить здесь. По объяснениям вроде все понятно и сделал все так как в курсе, но вот почему не работает хз. На quizful есть немножко другой вариант написания класса HibernateUtil, но там есть один класс которого у меня в библиотеке нету, а если подставить его суперкласс(который у меня есть почему-то), то получается то же самое.
Думал может подключил библиотеки не так, уже переподключал раз пять, опираясь на инструкции разных источников, не помогло...
Могу дать ссылку на youtube видео по которому учусь, может и вправду что-то я оттуда не до понял...
0
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
08.04.2016, 22:07 4
Цитата Сообщение от dispetch Посмотреть сообщение
Так в том то и дело что нету пока никакого проекта.
вот этот ваш учебный проект (тот что эксцепшены бросает) и выложите на github. Git: инструкция по применению
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
08.04.2016, 23:05  [ТС] 5
Цитата Сообщение от reisal78 Посмотреть сообщение
вот этот ваш учебный проект (тот что эксцепшены бросает) и выложите на github. Git инструкция по применению
https://github.com/DenisK2016/hibernate_demo выложил все что есть. Ну это все то же самое что я и здесь в теме выложил. Вот два урока из курса которые я пока успел пройти. Надеюсь админы не сочтут за рекламу.
https://www.youtube.com/watch?v=1qYOxJ-OEWs
https://www.youtube.com/watch?v=cnw5PHdsDtQ&nohtml5=False
0
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
08.04.2016, 23:38 6
dispetch, xml файлы в папку resources нужно закинуть. А сами библиотеки не забыли добавить в проект Хибернейта и драйвера БД?
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
09.04.2016, 00:42  [ТС] 7
Цитата Сообщение от reisal78 Посмотреть сообщение
dispetch, xml файлы в папку resources нужно закинуть. А сами библиотеки не забыли добавить в проект Хибернейта и драйвера БД?
Папки src/main/resources? И src/main/java для исходников? Если да, то я думал что это только для Maven'а, поэтому их не создавал.

А библиотеки, да, добавил вроде все. По hibernate добавил в проект все jar-ки что скачал с hibernate.org Выбирал "Hibernate ORM". Вот только сйечас подумал, может надо было ещё и Hibernate Validator скачать...?
И еще postgreSQL драйвер, jar'ку, тоже добавил.

Добавлено через 53 минуты
Положил в папку resouces теперь new Configuration().configure() не находит hibernate.cfg.xml
0
KEKCoGEN
Эксперт Java
2053 / 1926 / 498
Регистрация: 28.12.2010
Сообщений: 7,714
09.04.2016, 09:02 8
dispetch, почему вы не используете maven? Это решило бы вам множество проблем.
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
09.04.2016, 09:43  [ТС] 9
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
dispetch, почему вы не используете maven? Это решило бы вам множество проблем.
Потому что я его толком еще не научался использовать. Поэтому решил сначала от одной проблемы избавиться))
0
KEKCoGEN
Эксперт Java
2053 / 1926 / 498
Регистрация: 28.12.2010
Сообщений: 7,714
09.04.2016, 12:15 10
Цитата Сообщение от dispetch Посмотреть сообщение
решил сначала от одной проблемы избавиться
вы решили создать себе множество проблем. Используйте maven
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
09.04.2016, 22:22  [ТС] 11
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
вы решили создать себе множество проблем. Используйте maven
Сделал с помощью Maven'a, то же самое получается...((( Таблица не создается и выводится следующее

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
апр 09, 2016 10:17:39 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
апр 09, 2016 10:17:39 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.max_fetch_depth=5, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.pool_size=5}
апр 09, 2016 10:17:39 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
апр 09, 2016 10:17:39 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity
WARN: HHH90000012: Recognized obsolete hibernate namespace [url]http://hibernate.sourceforge.net/hibernate-configuration[/url]. Use namespace [url]http://www.hibernate.org/dtd/hibernate-configuration[/url] instead.  Support for obsolete DTD/XSD namespaces may be removed at any time.
апр 09, 2016 10:17:40 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/demo]
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=postgres, password=****}
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 5 (min=1)
апр 09, 2016 10:17:40 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
апр 09, 2016 10:17:40 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
INFO: HHH000421: Disabling contextual LOB creation as hibernate.jdbc.lob.non_contextual_creation is true
апр 09, 2016 10:17:40 PM org.hibernate.type.BasicTypeRegistry register
INFO: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@1740540
апр 09, 2016 10:17:40 PM org.hibernate.envers.boot.internal.EnversServiceImpl configure
INFO: Envers integration enabled? : true
апр 09, 2016 10:17:41 PM org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 4.3.1.Final
апр 09, 2016 10:17:41 PM org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@163b475'
0
KEKCoGEN
Эксперт Java
2053 / 1926 / 498
Регистрация: 28.12.2010
Сообщений: 7,714
09.04.2016, 22:32 12
dispetch, в этом логе нет ошибки.
Ну и раз вы уже сделали правильный шаг в сторону 2016 года, используйте джава конфигурацию
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
09.04.2016, 22:35  [ТС] 13
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Ну и раз вы уже сделали правильный шаг в сторону 2016 года, используйте джава конфигурацию
А можно поподробней, что значит джава конфигурация?
0
Любопытный
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
10.04.2016, 01:09 14
У хибернейта naming convention к xml файлам маппинга класса на таблицу требует такого формата <classname>.hbm.xml, а у Вас <classname>.cfg.xml. Возможно в этом проблема.
Еще вариант
Цитата Сообщение от dispetch Посмотреть сообщение
sessionFactory = cfg.buildSessionFactory(builder.build());
заменить на
Java
1
2
3
sessionFactory = cfg
   .addResource("%file_path%")
   .buildSessionFactory(builder.build());
И да, маппинг класса на таблицу в xml выглядит вырвиглазно, старайтесь придерживаться более современных подходов. Используйте аннотации и конфигурацию в классах.
0
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
10.04.2016, 01:41 15
dispetch, еще вопрос, какую версию хибернейта подключаете?
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
10.04.2016, 01:43  [ТС] 16
Цитата Сообщение от reisal78 Посмотреть сообщение
dispetch, еще вопрос, какую версию хибернейта подключаете?
5.1.0
0
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
10.04.2016, 01:49 17
dispetch, попробуйте из 4ю версию

Добавлено через 1 минуту
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
 
<!-- параметры подключения -->
 
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">create</property>
 
 
        <mapping resource="User.hbm.xml"/>
 
 
    </session-factory>
</hibernate-configuration>
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
10.04.2016, 02:05  [ТС] 18
Любопытный, к сожалению ничего не помогло.
reisal78, попробовал вставить, аналогичная ситуация...
Ещё если не указать <property name="hibernate.jdbc.lob.non_contextual_creation">true</property> , то возникает java.lang.reflect.InvocationTargetException почемуто...
0
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,845
10.04.2016, 02:12 19
Лучший ответ Сообщение было отмечено dispetch как решение

Решение

dispetch, https://github.com/reisal78/hibernate_demo__.git

Добавлено через 1 минуту
обратите внимание что я в там под mysql перенастроил ее
0
dispetch
1 / 1 / 2
Регистрация: 30.09.2013
Сообщений: 89
10.04.2016, 20:37  [ТС] 20
Цитата Сообщение от reisal78 Посмотреть сообщение
обратите внимание что я в там под mysql перенастроил ее
Спасибо за подсказки. Вроде решил наконецтоки эту проблемму. Переделал HibernateUtil и Main. Заработало.

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
import org.hibernate.SessionFactory;
//import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
    private static SessionFactory sessionFactory = null;
 
    static {
        Configuration cfg = new Configuration().configure();
//      StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
//              .applySettings(cfg.getProperties());
//      sessionFactory = cfg.buildSessionFactory(builder.build());
        sessionFactory = cfg.buildSessionFactory();
    }
 
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
    
     public static void shutdown() {
            // Close caches and connection pools
            getSessionFactory().close();
        }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
import org.hibernate.Session;
import org.hibernate.SessionFactory;
 
public class Main {
 
    public static void main(String[] args) {
        Session sessionFactory = HibernateUtil.getSessionFactory().openSession();
        HibernateUtil.shutdown();
        
 
    }
 
}
Ещё пару зависимостей добавил в pom.xml...
0
10.04.2016, 20:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2016, 20:37

Hibernate
Здравствуйте Только начал изучать hibernate но уже столкнулся со шквалом...

Hibernate ManyToMany
Помоге пожалуйста или укажите на нормальный рабочий пример. Создавал...

Косяк с hibernate
Добрый день,сейчас появилась очень странная ошибка(а может и нет)....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru