|
|
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! Есть задача, где требуется работать с данными в БД, без физических классов Entity. В проекте используется Hibernate + Spring. Работаю недавно, поэтому прошу снисхождения. Было принято решение использовать возможность маппинга в Hibernate, описываются XML-entity, подкидываются в Configuration, затем идет buildSessionFactory. В связи с этим вопросы: 1) Можно ли как-то сделать buildSessionFactory без файла hibernate.cfg? Как я понимаю в нашем проекте Hibernate соединяется с БД через приложение, и раньше этого файла в нашем проекте не было. Задача, чтобы buildSessionFactory происходил основываясь на уже готовых настройках. 2) Что происходит с текущими сессиями Hibernate при buildSessionFactory? Они отваливаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 08:51 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikтребуется работать с данными в БД, без физических классов Entity. подробнее aidynchikВ проекте используется Hibernate + Spring. подробнее. Как сейчас используются "физические классы"? Или проект с нуля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:33 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123, в общем задача - пользователь может создавать справочники. Соответственно мы можем создать таблицы, но классы-Entity не можем, так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:35 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchik, Hibernate умеет вот так https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/persistent-classes-dynamicmodels.html Но есть очень сильные сомнения что вам тут Hibernate вообще нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:58 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
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. Но чтобы сделать buildSessionFactory() запрашивался hibernate.cgf.xml, который мне пришлось создать и заново прописать там настройки, хотя они прописаны в application.properties. Вот я и спрашиваю - можно ли обойтись без hibernate.cgf.xml и не прописывая настройки, как-то прицепиться к текущему Configuration? Ведь как-то hibernate на данный момент к базе цепляется. И что будет с другимим сессиями при buildSessionFactory()? Приложение многопользовательское ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:07 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowiczaidynchik, Пример конфигурации в рантайме http://stackoverflow.com/a/22332348 Да мне не нужно это... Вы привели пример по сути, того же hibernate.cfg.xml, просто налету. У меня прописаны настройки к базе в файле application.properties, Spring boot подхватывает его и коннектится к базе, вот я и хочу получить доступ к buildSessionFactory() не настраивая hibernate заново. Зачем мне прописывать настройки второй раз, если они уже прописаны для спринга. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:12 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchik, Тогда я вам настойчиво рекомендую начать читать исходники. StandardServiceRegistryBuilder - именно тот файл, который связывает конфигурацию и hibernate.cfg.xml. Но всё что он делает, это тупо загружает значения в Configuration.properties Все нужные методы в Configuration - публичные. Отнаследоваться и переопределеить - не проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:25 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо... а что по поводу сессий скажете? Будут ли проблемы у пользователей соединенных к базе при buildsessionfactory? нигде не могу найти информацию об этом... глобальное ли это будет изменение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:28 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikа что по поводу сессий скажете? Будут ли проблемы у пользователей соединенных к базе при buildsessionfactory? нигде не могу найти информацию об этом... глобальное ли это будет изменение Вы же новую SessionFactory делаете - все старые сессии будут работать со старой SessionFactory. Новые - с новой. На старые сессии создание новой SessionFactory никак не повлияет. Но, надо внимательно посмотреть к чему именно там кэши привязаны, например. То есть старые сессии могут работать со старыми кешами, которые уже не актуальные из-за новых сессий. Это не точно. Это то что я бы перепроверил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:35 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, В этом и дело, мне нужно чтобы все пользователи "получили" изменения. Могу я как-то сделать билд текущего Sessionfactory? Что-то типа Код: java 1. 2. 3. Возможно ли такое и что будет у пользователей, ошибка или хайбернет подтянет новый ентити молча ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:50 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikВ этом и дело, мне нужно чтобы все пользователи "получили" изменения. Нужны очень короткие транзакции. Вот прям посреди транзакции подменить, это уже как-то слишком. Не находите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 10:52 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Похоже что нет, нашел что он immutable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:03 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikPetro123, в общем задача - пользователь может создавать справочники. Соответственно мы можем создать таблицы, но классы-Entity не можем, так? пока непонятно. Прогаммист тоже может создать справочники. Как с остальным? - события вновь созданного справочника - ГУИ к справочнику? - JOIN и бизнес-логика для НОВОГО справочника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:12 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123, проект не с нуля. Просто нужен модуль справочников, чтобы каждый раз не дергать программистов, пользователь должен иметь возможность самому создавать справочники. GUI будет строить динамически, подобный проект уже реализован на Дельфи, но там все намного проще в плане оперирования динамическими селектами. Сейчас просто выбираем метод хранения данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:33 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchik, Hibernate для работы со справочниками не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:40 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikпроект уже реализован на Дельфи оригинально. У вас там есть ОРМ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:43 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123, Дельфи плюс Оракл, разумеется там нет hibernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:44 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikпроект уже реализован на Дельфи, но там все намного проще в плане оперирования динамическими селектами. вот и ПОВТОРИТЕ его на Java без велосипедов и маппинга....и этой темы тоже IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:46 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123, Blazkowicz извините, изначально я выразился не совсем правильно. Работаю недавно не только с Hibernate, а с Джава вообще... вот так посадили на проект... потому вы не могли бы подсказать каким способом можно оперировать данными? Через JDBC-драйвер? Hibernate, я так понял, изначально используется потому что проект должен работать под любой БД, то есть нативные селекты нежелательны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 11:52 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchik, JooQ, QueryDSL, вроде, тоже под разные БД умеют. Помимо этого не обязательно совсем отказываться от Hibernate. Просто вот такие вот задачи, проще на каком-нибудь стандартном SQL реализовать без изысков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 12:04 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikРаботаю недавно не только с Hibernate, а с Джава вообще... вот так посадили на проект... IMHO изначально хорошо бы повторить проект успешно работающий (дельфи). А потом уже изучать хибер. Тем более что маппинг в динамике тут редко используется. aidynchikпотому вы не могли бы подсказать каким способом можно оперировать данными? Через JDBC-драйвер? Hibernate, я так понял, изначально используется потому что проект должен работать под любой БД, то есть нативные селекты нежелательны. приведи пример разных select из твоего delphi проекта. У вас delphi проект под какой бд не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 12:07 |
|
||
|
Работа с mapping Hibernate
|
|||
|---|---|---|---|
|
#18+
aidynchikGUI будет строить динамически тоже пока не думали и не пробовали в Java, хотя в дельфи работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 12:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39376617&tid=2123320]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
100ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 466ms |

| 0 / 0 |
