powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с mapping Hibernate
27 сообщений из 27, показаны все 2 страниц
Работа с mapping Hibernate
    #39376537
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня!
Есть задача, где требуется работать с данными в БД, без физических классов Entity.
В проекте используется Hibernate + Spring. Работаю недавно, поэтому прошу снисхождения.
Было принято решение использовать возможность маппинга в Hibernate, описываются XML-entity, подкидываются в Configuration, затем идет buildSessionFactory.
В связи с этим вопросы:
1) Можно ли как-то сделать buildSessionFactory без файла hibernate.cfg? Как я понимаю в нашем проекте Hibernate соединяется с БД через приложение, и раньше этого файла в нашем проекте не было. Задача, чтобы buildSessionFactory происходил основываясь на уже готовых настройках.
2) Что происходит с текущими сессиями Hibernate при buildSessionFactory? Они отваливаются?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376566
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikтребуется работать с данными в БД, без физических классов Entity.
подробнее
aidynchikВ проекте используется Hibernate + Spring.
подробнее. Как сейчас используются "физические классы"?
Или проект с нуля?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376568
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

в общем задача - пользователь может создавать справочники.
Соответственно мы можем создать таблицы, но классы-Entity не можем, так?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376584
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,
Hibernate умеет вот так
https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/persistent-classes-dynamicmodels.html
Но есть очень сильные сомнения что вам тут Hibernate вообще нужен.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376590
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczaidynchik,
Hibernate умеет вот так
https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/persistent-classes-dynamicmodels.html
Но есть очень сильные сомнения что вам тут Hibernate вообще нужен.

да, я знаю, что он так умеет, я же написал, что мы и используем маппинг. Вот мой код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        Configuration cfg = new Configuration().configure().addResource("bsbconnect/kz/models/customer.hbm.xml");
        SessionFactory sessions = cfg.buildSessionFactory();
        Session s = sessions.openSession();
        Transaction tx = s.beginTransaction();
        Map david = new HashMap();
        david.put("fio", "David");
        david.put("phone", "87071070095");
        david.put("address", "Almaty");
        s.save( "Customer", david);
        tx.commit();
        s.close();



Но чтобы сделать buildSessionFactory() запрашивался hibernate.cgf.xml, который мне пришлось создать и заново прописать там настройки, хотя они прописаны в application.properties.
Вот я и спрашиваю - можно ли обойтись без hibernate.cgf.xml и не прописывая настройки, как-то прицепиться к текущему Configuration? Ведь как-то hibernate на данный момент к базе цепляется.

И что будет с другимим сессиями при buildSessionFactory()? Приложение многопользовательское
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376591
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

Пример конфигурации в рантайме
http://stackoverflow.com/a/22332348
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376592
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczaidynchik,

Пример конфигурации в рантайме
http://stackoverflow.com/a/22332348
Да мне не нужно это... Вы привели пример по сути, того же hibernate.cfg.xml, просто налету.
У меня прописаны настройки к базе в файле application.properties, Spring boot подхватывает его и коннектится к базе, вот я и хочу получить доступ к buildSessionFactory() не настраивая hibernate заново. Зачем мне прописывать настройки второй раз, если они уже прописаны для спринга.
Как это сделать?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376606
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

Тогда я вам настойчиво рекомендую начать читать исходники.
StandardServiceRegistryBuilder - именно тот файл, который связывает конфигурацию и hibernate.cfg.xml.
Но всё что он делает, это тупо загружает значения в Configuration.properties
Все нужные методы в Configuration - публичные. Отнаследоваться и переопределеить - не проблема.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376608
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

спасибо...
а что по поводу сессий скажете?
Будут ли проблемы у пользователей соединенных к базе при buildsessionfactory? нигде не могу найти информацию об этом... глобальное ли это будет изменение
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376617
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikа что по поводу сессий скажете?
Будут ли проблемы у пользователей соединенных к базе при buildsessionfactory? нигде не могу найти информацию об этом... глобальное ли это будет изменение
Вы же новую SessionFactory делаете - все старые сессии будут работать со старой SessionFactory. Новые - с новой. На старые сессии создание новой SessionFactory никак не повлияет.

Но, надо внимательно посмотреть к чему именно там кэши привязаны, например. То есть старые сессии могут работать со старыми кешами, которые уже не актуальные из-за новых сессий. Это не точно. Это то что я бы перепроверил.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376631
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

В этом и дело, мне нужно чтобы все пользователи "получили" изменения.
Могу я как-то сделать билд текущего Sessionfactory? Что-то типа
Код: java
1.
2.
3.
Код по получению current sessionfactory

CurrentSessionFactory = cfg.buildsessionfactory


Возможно ли такое и что будет у пользователей, ошибка или хайбернет подтянет новый ентити молча
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376636
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikВ этом и дело, мне нужно чтобы все пользователи "получили" изменения.

Нужны очень короткие транзакции. Вот прям посреди транзакции подменить, это уже как-то слишком. Не находите?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376643
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже что нет, нашел что он immutable
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376654
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikPetro123,

в общем задача - пользователь может создавать справочники.
Соответственно мы можем создать таблицы, но классы-Entity не можем, так?
пока непонятно.
Прогаммист тоже может создать справочники.
Как с остальным?
- события вновь созданного справочника
- ГУИ к справочнику?
- JOIN и бизнес-логика для НОВОГО справочника?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376659
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,
на второй вопрос не ответили
20055241
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376676
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
проект не с нуля. Просто нужен модуль справочников, чтобы каждый раз не дергать программистов, пользователь должен иметь возможность самому создавать справочники.
GUI будет строить динамически, подобный проект уже реализован на Дельфи, но там все намного проще в плане оперирования динамическими селектами.
Сейчас просто выбираем метод хранения данных
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376689
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

Hibernate для работы со справочниками не нужен.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376698
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikпроект уже реализован на Дельфи
оригинально. У вас там есть ОРМ?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376699
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Дельфи плюс Оракл, разумеется там нет hibernate
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376701
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikпроект уже реализован на Дельфи, но там все намного проще в плане оперирования динамическими селектами.
вот и ПОВТОРИТЕ его на Java без велосипедов и маппинга....и этой темы тоже
IMHO
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376713
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, Blazkowicz

извините, изначально я выразился не совсем правильно. Работаю недавно не только с Hibernate, а с Джава вообще... вот так посадили на проект...
потому вы не могли бы подсказать каким способом можно оперировать данными? Через JDBC-драйвер?
Hibernate, я так понял, изначально используется потому что проект должен работать под любой БД, то есть нативные селекты нежелательны.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376728
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

JooQ, QueryDSL, вроде, тоже под разные БД умеют. Помимо этого не обязательно совсем отказываться от Hibernate. Просто вот такие вот задачи, проще на каком-нибудь стандартном SQL реализовать без изысков.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376732
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikРаботаю недавно не только с Hibernate, а с Джава вообще... вот так посадили на проект...
IMHO
изначально хорошо бы повторить проект успешно работающий (дельфи).
А потом уже изучать хибер.
Тем более что маппинг в динамике тут редко используется.
aidynchikпотому вы не могли бы подсказать каким способом можно оперировать данными? Через JDBC-драйвер?
Hibernate, я так понял, изначально используется потому что проект должен работать под любой БД, то есть нативные селекты нежелательны.
приведи пример разных select из твоего delphi проекта.
У вас delphi проект под какой бд не работает?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376735
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikGUI будет строить динамически
тоже пока не думали и не пробовали в Java, хотя в дельфи работает?
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376738
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

на Оракле, и там частенько в селектах встречаются оракловые штучки, к примеру connect by prior.
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376740
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

хорошо, спасибо
...
Рейтинг: 0 / 0
Работа с mapping Hibernate
    #39376788
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikPetro123,
на Оракле, и там частенько в селектах встречаются оракловые штучки, к примеру connect by prior.
вот и решайте там где тонко, а не там где светло.
Хибер вам поможет в connect by prior?
Если нет, то зачем он вам в данном модуле?
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с mapping Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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