powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
10 сообщений из 10, страница 1 из 1
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223229
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот содержимое 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.
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

  <session-factory>

    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/myDB</property>
    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
    <property name="connection.username">postgres</property>
    <property name="connection.password">P@ssw0rd<;/property>
    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL9Dialect</property>

    <mapping class="ru.mx.hibdemo.hibernate.dao.WeatherEntity"/>

      <!-- DB schema will be updated if needed -->
    <!-- <property name="hbm2ddl.auto">update</property> -->
  </session-factory>

</hibernate-configuration>



HibernateSessionFactory.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.
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.metamodel.MetadataSources;


public class HibernateSessionFactory {

    private static SessionFactory sessionFactory = buildSessionFactory();

    protected static SessionFactory buildSessionFactory()
    {
        // A SessionFactory is set up once for an application!
        final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                .configure() // configures settings from hibernate.cfg.xml
                .build();
        try {
                sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
            }
        catch (Exception e) {
            // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory
            // so destroy it manually.
            StandardServiceRegistryBuilder.destroy( registry );
            throw new ExceptionInInitializerError("Initial SessionFactory failed: " + e);
        }
        return sessionFactory;
    }


    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static void shutdown() {
        // Close caches and connection pools
        getSessionFactory().close();
    }

}



база "myDB" уже есть, и пару записей в таблице. Причем, проверка соединения в IntellijIDEA проходит успешно.
Но при запуске выдает вот это:

Exception in thread "main" java.lang.ExceptionInInitializerError: Initial SessionFactory failed: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
at ru.mx.hibdemo.hibernate.utils.HibernateSessionFactory.buildSessionFactory(HibernateSessionFactory.java:31)
at ru.mx.hibdemo.hibernate.utils.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:15)

уже весь инет перерыл, не могу понять чего не хватает ((((((((
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223252
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начитался форумов и исправил 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.
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

  <session-factory>

    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/myDB</property>
    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>

    <property name="hibernate.c3p0.min_size">5</property>
    <property name="hibernate.c3p0.max_size">20</property>
    <property name="hibernate.c3p0.timeout">1800</property>
    <property name="hibernate.c3p0.max_statements">50</property>

    <property name="hibernate.connection.username">postgres</property>
    <property name="hibernate.connection.password">P@ssw0rd<;/property>
    <property name="hibernate.connection.pool_size">1</property>

    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL9Dialect</property>

    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.hbm2ddl.auto">update</property>

    <mapping class="ru.mx.hibdemo.hibernate.dao.WeatherEntity"/>

      <!-- DB schema will be updated if needed -->
    <!-- <property name="hbm2ddl.auto">update</property> -->
  </session-factory>

</hibernate-configuration>



Теперь ошибок коннекта не возникает, но появилась другая:

Когда из основного приложения:

Код: 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.
package ru.mx.hibdemo.hibernate.main;
import org.hibernate.Session;
import ru.mx.hibdemo.hibernate.dao.WeatherEntity;
import ru.mx.hibdemo.hibernate.utils.HibernateSessionFactory;

public class AppMain {
    public static void main(String[] args) {

        System.out.println("Hibernate tutorial");

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

        session.beginTransaction();

        WeatherEntity weatherEntity = new WeatherEntity();

        weatherEntity.setCity("Сарапулка");
        weatherEntity.setPrcp(760);
        weatherEntity.setTempHi(19);
        weatherEntity.setTempLo(0);
        weatherEntity.setDate("23/04/2016");

        session.save(weatherEntity);

        session.getTransaction().commit();

        session.close();

    }
};



..убрать строчку session.save(weatherEntity); - ошибок нет совсем, но и изменений не сохраняет.

А ошибка такая:
org.hibernate.MappingException: Unknown entity: ru.mx.hibdemo.hibernate.dao.WeatherEntity

Не могу понять почему "Unknown entity" ведь в маппинге она прописана!
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223259
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MAULER,

<property name="hbm2ddl.auto">create</property>

???
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223260
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
апдейт можно когда схема уже создана. а если нет - креейт разово.
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223261
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2,

всё равно:

org.hibernate.MappingException: Unknown entity: ru.mx.hibdemo.hibernate.dao.WeatherEntity
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223303
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно случайно, наткнулся на пост, где рекомендовали обратить внимание на версию hibernate!!!
У меня была 4.3.0.Final заменил на последнюю 5.1.0.Final и как по взмаху волшебной палочки эта с*ка запустилась!!!

Всё это стоило мне дня траходрома.......

Теперь в базу всё заносится, но заметил одну странность: при запуске приложения IntellijIDEA вижу лог с красными INFO: сообщениями, а в конце белым по черному такая строчка:

Hibernate: insert into public.weather (city, date, prcp, temp_hi, temp_lo, id) values (?, ?, ?, ?, ?, ?)

Если нажать "Stop" (остановить выполнение), и потом проверить
Код: sql
1.
select * from weather



Выводятся уже обновленные данные, т.е. новая строка присутствует. Но почему тогда идея мне пишет values (?, ?, ?, ?, ?, ?)
ждет от меня какого то ввода, или это просто такая фишка у неё? Или я что-то забыл закрыть?
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223304
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MAULER,

так это запрос выглядит так (prepared statement), волноваться неочем
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223316
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Ну тогда круто!
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223397
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня вот тут другой вопрос вылез )) не понимаю с чем это связано с кэшем чтоле:

есть сучность waybill, есть сущность event у вайбиля лист ивентов. мне надо один ивент удалить и кое-что пересчитать и заново в обновленный вайбиль положить.

я делаю делет одного ивента, потом врубаю итератор (как я думаю) оставшихся и пересчитываю то что мне надо. и .. опа, оказывается делит пока не закоммитишь делитом не считается и ивенты как были в полном комплекте - так и остаются. а коммитить я не хочу, т.к. в ходу еще несколько сущностей на изменение. или без вариантов?

не, можно конечно костыль придумать - скажем, ивент пометить флагом делитед и игнорить при пересчете. но..
...
Рейтинг: 0 / 0
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
    #39223662
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет комита нет делета.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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