powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Добавить(изменить) сущность в рантайме в ОРМ
25 сообщений из 35, страница 1 из 2
Добавить(изменить) сущность в рантайме в ОРМ
    #38289595
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работал я только с хибером, потому написал ОРМ, может в где-то это делается просто.
Добавить - добавить новую сущность
Изменить - удалить\добавить полей

Все это в рантайме - как проще?

Пример обыкновенный:
в программе пользователь добавляет новый справочник или добавляет новых полей в справочник.
Как то без орм это действо все проще происходит ;)
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289601
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
ну на 10 процентов можети проще.
Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289603
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
ну на 10 процентов можети проще.
Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь?

лучше все таки по теме
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289610
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще для такого архитектурного решения, хорошо бы ответить на вопрос "зачем".
Если очень надо, то просто "модель" разбивается на два уровня. Первый - бизнес сущности (Order, Item, Contact)
Второй - мета сущности - Entity, Property.
Проблема в том что с таким подходом куча вкуснотищи RDBMS идёт лесом. Ни констрейнтов нормальных, ни триггеров.
Возникает резонный вопрос, почему было сразу не взять NoSQL.
А если возится с DDL, то нужно задуматься над тем что он, ведь, далеко не всегда транзакционный.

Поэтому вопрос к Java имеет очень опосредственное отношение. ORM это маппинг объектов на RDB. Как и RDB, так и Java OOP оба подразумевают статическую типизацию и статичные структуры. Поэтому если у вас какая-то динамическая модель, то может стоит тогда и средства выбрать более подходящие?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289617
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинлучше все таки по теме
Это и было по теме. В глобальном масштабе в динамических свойствах нет особого смысла. Потому что для динамических свойств, нужен "динамический" GUI и "динамическая" логика.
Мода на подобные решения, по-моему уже отгремела.
ORM, кстати, имеет достаточно четкую область применения. Поэтому спрашивать как сделать в ORM то для чего он не предназначен, достаточно бессмысленно.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289627
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверинлучше все таки по теме
Это и было по теме. В глобальном масштабе в динамических свойствах нет особого смысла. Потому что для динамических свойств, нужен "динамический" GUI и "динамическая" логика.
Мода на подобные решения, по-моему уже отгремела.
ORM, кстати, имеет достаточно четкую область применения. Поэтому спрашивать как сделать в ORM то для чего он не предназначен, достаточно бессмысленно.

С чего бы орм для это не был предназначен? Тот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289633
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВообще для такого архитектурного решения, хорошо бы ответить на вопрос "зачем".
Если очень надо, то просто "модель" разбивается на два уровня. Первый - бизнес сущности (Order, Item, Contact)
Второй - мета сущности - Entity, Property.
Проблема в том что с таким подходом куча вкуснотищи RDBMS идёт лесом. Ни констрейнтов нормальных, ни триггеров.
Возникает резонный вопрос, почему было сразу не взять NoSQL.
А если возится с DDL, то нужно задуматься над тем что он, ведь, далеко не всегда транзакционный.

Поэтому вопрос к Java имеет очень опосредственное отношение. ORM это маппинг объектов на RDB. Как и RDB, так и Java OOP оба подразумевают статическую типизацию и статичные структуры. Поэтому если у вас какая-то динамическая модель, то может стоит тогда и средства выбрать более подходящие?

то есть любые языки с динамической типизацией?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289640
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинС чего бы орм для это не был предназначен? Тот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос
Удачи.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289681
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Озверин!

> Пример обыкновенный:
> в программе пользователь добавляет новый справочник или добавляет новых
> полей в справочник.

А как это выглядит в java-коде?
Скорее всего как классы:
пользовательские таблицы - UserClass
в нём список полей UserClassField
пользовательские объекты - UserObject
в нём список значений полей UserObjectField
В результате в БД есть только эти 4 таблицы, в java - 4 класса, в ORM- 4
связки.

Можно попробовать создавать динамически классы java, динамически таблицы
и связывать их. Но тут проще не мучать ORM, а написать свой костыль. По
сравнению с вышеприведённым- не так уж и много.

--
Алексей
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289683
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Blazkowicz!

> Это и было по теме. В глобальном масштабе в динамических свойствах нет
> особого смысла. Потому что для динамических свойств, нужен
> "динамический" GUI и "динамическая" логика.
> Мода на подобные решения, по-моему уже отгремела.

А что делать в документообороте, когда пользователи хотят добавлять свои
поля и маршрутизировать по ним документ?

--
Алексей
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289689
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraА что делать в документообороте, когда пользователи хотят добавлять свои
поля и маршрутизировать по ним документ?

Это всё решается одной таблией CustomDocumentProperties. Но всю модель на этом не построишь. Нужна ли RDBMS в документообороте тоже вопрос обсуждаемый.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289696
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, Blazkowicz!

> Это и было по теме. В глобальном масштабе в динамических свойствах нет
> особого смысла. Потому что для динамических свойств, нужен
> "динамический" GUI и "динамическая" логика.
> Мода на подобные решения, по-моему уже отгремела.

А что делать в документообороте, когда пользователи хотят добавлять свои
поля и маршрутизировать по ним документ?

--
Алексей
эти поля в статике в сущностях сразу.
Или ты Модель решил довернуть в динамике?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289705
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинPetro123Озверин,
ну на 10 процентов можети проще.
Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь?
лучше все таки по теме
дак ты не пиши туфту о том что где-то ЭТО решается по другому. Не стандартным образом.
Хочешь ERP? Там немного по другому.
Да и твой вопрос тут уже был.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289709
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверинпропущено...

лучше все таки по теме
дак ты не пиши туфту о том что где-то ЭТО решается по другому. Не стандартным образом.
Хочешь ERP? Там немного по другому.
Да и твой вопрос тут уже был.

вы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289714
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинС чего бы орм для это не был предназначен?

А с чего бы был?

ОзверинТот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос
ORM это мост между Объектами и RDBMS. Для динамической ORM нужны динамические Объекты и динамическая реаляционная БД.
Судя по тому что вопрос упирается только в ORM, то динамические объекты и динамическая RDBM уже реализованы?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289722
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинвы как всегда о чем то своем пишите?

Petro123 всё верно пишет в этой теме.
ОзверинУ меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост.
Тема у "Добавить(изменить) сущность в рантайме в ОРМ".
ORM это маппинг. Сущности он менять не может. Они их только маппит. У хибера весь маппинг хранится в "коллекциях" в памяти. Никакой проблемы залезть туда в рантайме быть не должно. Так в чем вопрос тогда? Указать в каких классах живет маппинг?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289725
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинвы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост.
а ты перечитай второй пост. Или ты сам с собой из за упрямства? ))
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289729
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

в целом я хотел найти решение. Вы там могли предложить что нить вроде набор полей в map`е :)
И да...c тех пор как я могу создать свой класс лоадер - динамические классы должны быть доступны.

Решением для хибера в таком случае будет кривое, это добавить класс в
Configuration cfg = new Configuration()
.addClass(...)

И так как SessionFactory иммутбл, создать новый...чтобы работать с новой сущностью только через него - это велосипед, теория и все такое. Просто думюа над этим.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289731
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверинвы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост.
а ты перечитай второй пост. Или ты сам с собой из за упрямства? ))

второй пост показал то, что вы не поняли первый ;) Очевидно же.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289755
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
"Да как же тебя понять, коль ты ничего не говоришь?
Якин. Языками не владею, Ваше благородие."
из х/ф "Иван Васильевич меняет профессию"
)))
Цель непонятна. А решений тогда - миллион)). Очевидно)
Ты ж архитектор)
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289771
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинв целом я хотел найти решение.

Чтобы найти решение, стоит достаточно четко сформулировать задачу.

ОзверинИ да...c тех пор как я могу создать свой класс лоадер - динамические классы должны быть доступны.

Если было бы всё так просто, про JRebel никто не слышал бы.

ОзверинРешением для хибера в таком случае будет кривое, это добавить класс в
Configuration cfg = new Configuration()
.addClass(...)

В чем его "кривость"? Это же Opensource. Взяли и дописал всё что надо.
Можно пересоздать SessionFactory, это даже будет безопаснее, потому что нужно старые транзакции таки завершить со старым маппингом в момент обновления модели.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289772
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверинвы как всегда о чем то своем пишите?

Petro123 всё верно пишет в этой теме.
ОзверинУ меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост.
Тема у "Добавить(изменить) сущность в рантайме в ОРМ".
ORM это маппинг. Сущности он менять не может. Они их только маппит. У хибера весь маппинг хранится в "коллекциях" в памяти. Никакой проблемы залезть туда в рантайме быть не должно. Так в чем вопрос тогда? Указать в каких классах живет маппинг?

вы издеваетесь? Человек пишет про гуи. Сабж совершенно в другом. Если вы хотите придраться к вопросу, то я могу написать его заново, но суть должны были все понять:
как при наличии орма получить динамический мапппинг и не потерять всех прелестей этого самого инструмента. Чего непонятного?
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289774
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати о JRebel. Купить и не парится.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289778
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
"Да как же тебя понять, коль ты ничего не говоришь?
Якин. Языками не владею, Ваше благородие."
из х/ф "Иван Васильевич меняет профессию"
)))
Цель непонятна. А решений тогда - миллион)). Очевидно)
Ты ж архитектор)

цель написана в первом посте. Предлагаю внимательно его прочесть.
...
Рейтинг: 0 / 0
Добавить(изменить) сущность в рантайме в ОРМ
    #38289786
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинкак при наличии орма получить динамический мапппинг
В хибере динамический маппинг. Нужно только дописать код, который его будет менять.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Добавить(изменить) сущность в рантайме в ОРМ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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