Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :( / 10 сообщений из 10, страница 1 из 1
23.04.2016, 21:56
    #39223229
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
вот содержимое 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
23.04.2016, 23:35
    #39223252
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
Начитался форумов и исправил 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
24.04.2016, 00:45
    #39223259
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
MAULER,

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

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

всё равно:

org.hibernate.MappingException: Unknown entity: ru.mx.hibdemo.hibernate.dao.WeatherEntity
...
Рейтинг: 0 / 0
24.04.2016, 09:35
    #39223303
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
Совершенно случайно, наткнулся на пост, где рекомендовали обратить внимание на версию 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
24.04.2016, 10:17
    #39223304
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate + PostgreSQL: ошибка коннекта при запуске приложения :(
MAULER,

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

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

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

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

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


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