|
|
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Работал я только с хибером, потому написал ОРМ, может в где-то это делается просто. Добавить - добавить новую сущность Изменить - удалить\добавить полей Все это в рантайме - как проще? Пример обыкновенный: в программе пользователь добавляет новый справочник или добавляет новых полей в справочник. Как то без орм это действо все проще происходит ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:20:58 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверин, ну на 10 процентов можети проще. Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:23:04 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Petro123Озверин, ну на 10 процентов можети проще. Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь? лучше все таки по теме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:23:59 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Вообще для такого архитектурного решения, хорошо бы ответить на вопрос "зачем". Если очень надо, то просто "модель" разбивается на два уровня. Первый - бизнес сущности (Order, Item, Contact) Второй - мета сущности - Entity, Property. Проблема в том что с таким подходом куча вкуснотищи RDBMS идёт лесом. Ни констрейнтов нормальных, ни триггеров. Возникает резонный вопрос, почему было сразу не взять NoSQL. А если возится с DDL, то нужно задуматься над тем что он, ведь, далеко не всегда транзакционный. Поэтому вопрос к Java имеет очень опосредственное отношение. ORM это маппинг объектов на RDB. Как и RDB, так и Java OOP оба подразумевают статическую типизацию и статичные структуры. Поэтому если у вас какая-то динамическая модель, то может стоит тогда и средства выбрать более подходящие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:27:23 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверинлучше все таки по теме Это и было по теме. В глобальном масштабе в динамических свойствах нет особого смысла. Потому что для динамических свойств, нужен "динамический" GUI и "динамическая" логика. Мода на подобные решения, по-моему уже отгремела. ORM, кстати, имеет достаточно четкую область применения. Поэтому спрашивать как сделать в ORM то для чего он не предназначен, достаточно бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:29:42 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинлучше все таки по теме Это и было по теме. В глобальном масштабе в динамических свойствах нет особого смысла. Потому что для динамических свойств, нужен "динамический" GUI и "динамическая" логика. Мода на подобные решения, по-моему уже отгремела. ORM, кстати, имеет достаточно четкую область применения. Поэтому спрашивать как сделать в ORM то для чего он не предназначен, достаточно бессмысленно. С чего бы орм для это не был предназначен? Тот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:35:07 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВообще для такого архитектурного решения, хорошо бы ответить на вопрос "зачем". Если очень надо, то просто "модель" разбивается на два уровня. Первый - бизнес сущности (Order, Item, Contact) Второй - мета сущности - Entity, Property. Проблема в том что с таким подходом куча вкуснотищи RDBMS идёт лесом. Ни констрейнтов нормальных, ни триггеров. Возникает резонный вопрос, почему было сразу не взять NoSQL. А если возится с DDL, то нужно задуматься над тем что он, ведь, далеко не всегда транзакционный. Поэтому вопрос к Java имеет очень опосредственное отношение. ORM это маппинг объектов на RDB. Как и RDB, так и Java OOP оба подразумевают статическую типизацию и статичные структуры. Поэтому если у вас какая-то динамическая модель, то может стоит тогда и средства выбрать более подходящие? то есть любые языки с динамической типизацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:36:37 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
ОзверинС чего бы орм для это не был предназначен? Тот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:40:20 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Добрый день, Озверин! > Пример обыкновенный: > в программе пользователь добавляет новый справочник или добавляет новых > полей в справочник. А как это выглядит в java-коде? Скорее всего как классы: пользовательские таблицы - UserClass в нём список полей UserClassField пользовательские объекты - UserObject в нём список значений полей UserObjectField В результате в БД есть только эти 4 таблицы, в java - 4 класса, в ORM- 4 связки. Можно попробовать создавать динамически классы java, динамически таблицы и связывать их. Но тут проще не мучать ORM, а написать свой костыль. По сравнению с вышеприведённым- не так уж и много. -- Алексей Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:54:31 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Добрый день, Blazkowicz! > Это и было по теме. В глобальном масштабе в динамических свойствах нет > особого смысла. Потому что для динамических свойств, нужен > "динамический" GUI и "динамическая" логика. > Мода на подобные решения, по-моему уже отгремела. А что делать в документообороте, когда пользователи хотят добавлять свои поля и маршрутизировать по ним документ? -- Алексей Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:55:10 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraА что делать в документообороте, когда пользователи хотят добавлять свои поля и маршрутизировать по ним документ? Это всё решается одной таблией CustomDocumentProperties. Но всю модель на этом не построишь. Нужна ли RDBMS в документообороте тоже вопрос обсуждаемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:57:43 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Blazkowicz! > Это и было по теме. В глобальном масштабе в динамических свойствах нет > особого смысла. Потому что для динамических свойств, нужен > "динамический" GUI и "динамическая" логика. > Мода на подобные решения, по-моему уже отгремела. А что делать в документообороте, когда пользователи хотят добавлять свои поля и маршрутизировать по ним документ? -- Алексей эти поля в статике в сущностях сразу. Или ты Модель решил довернуть в динамике? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 10:59:19 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
ОзверинPetro123Озверин, ну на 10 процентов можети проще. Только без ОРМ ты БЛ и ГУИ для этих полей как делаешь? лучше все таки по теме дак ты не пиши туфту о том что где-то ЭТО решается по другому. Не стандартным образом. Хочешь ERP? Там немного по другому. Да и твой вопрос тут уже был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:02:52 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Petro123Озверинпропущено... лучше все таки по теме дак ты не пиши туфту о том что где-то ЭТО решается по другому. Не стандартным образом. Хочешь ERP? Там немного по другому. Да и твой вопрос тут уже был. вы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:05:56 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
ОзверинС чего бы орм для это не был предназначен? А с чего бы был? ОзверинТот факт.что большинство этих ормов имеет статический маппинг не должен делать абсолютно всех бесполезными для динамического ;) отсюда и вопрос ORM это мост между Объектами и RDBMS. Для динамической ORM нужны динамические Объекты и динамическая реаляционная БД. Судя по тому что вопрос упирается только в ORM, то динамические объекты и динамическая RDBM уже реализованы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:07:20 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверинвы как всегда о чем то своем пишите? Petro123 всё верно пишет в этой теме. ОзверинУ меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост. Тема у "Добавить(изменить) сущность в рантайме в ОРМ". ORM это маппинг. Сущности он менять не может. Они их только маппит. У хибера весь маппинг хранится в "коллекциях" в памяти. Никакой проблемы залезть туда в рантайме быть не должно. Так в чем вопрос тогда? Указать в каких классах живет маппинг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:10:40 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверинвы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост. а ты перечитай второй пост. Или ты сам с собой из за упрямства? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:11:07 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, в целом я хотел найти решение. Вы там могли предложить что нить вроде набор полей в map`е :) И да...c тех пор как я могу создать свой класс лоадер - динамические классы должны быть доступны. Решением для хибера в таком случае будет кривое, это добавить класс в Configuration cfg = new Configuration() .addClass(...) И так как SessionFactory иммутбл, создать новый...чтобы работать с новой сущностью только через него - это велосипед, теория и все такое. Просто думюа над этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:13:16 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Petro123Озверинвы как всегда о чем то своем пишите? У меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост. а ты перечитай второй пост. Или ты сам с собой из за упрямства? )) второй пост показал то, что вы не поняли первый ;) Очевидно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:13:41 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверин, "Да как же тебя понять, коль ты ничего не говоришь? Якин. Языками не владею, Ваше благородие." из х/ф "Иван Васильевич меняет профессию" ))) Цель непонятна. А решений тогда - миллион)). Очевидно) Ты ж архитектор) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:20:12 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Озверинв целом я хотел найти решение. Чтобы найти решение, стоит достаточно четко сформулировать задачу. ОзверинИ да...c тех пор как я могу создать свой класс лоадер - динамические классы должны быть доступны. Если было бы всё так просто, про JRebel никто не слышал бы. ОзверинРешением для хибера в таком случае будет кривое, это добавить класс в Configuration cfg = new Configuration() .addClass(...) В чем его "кривость"? Это же Opensource. Взяли и дописал всё что надо. Можно пересоздать SessionFactory, это даже будет безопаснее, потому что нужно старые транзакции таки завершить со старым маппингом в момент обновления модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:24:59 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинвы как всегда о чем то своем пишите? Petro123 всё верно пишет в этой теме. ОзверинУ меня ощущение, что во всех темах вы беседуете сами с собой. Перечитайте мой заглавный пост. Тема у "Добавить(изменить) сущность в рантайме в ОРМ". ORM это маппинг. Сущности он менять не может. Они их только маппит. У хибера весь маппинг хранится в "коллекциях" в памяти. Никакой проблемы залезть туда в рантайме быть не должно. Так в чем вопрос тогда? Указать в каких классах живет маппинг? вы издеваетесь? Человек пишет про гуи. Сабж совершенно в другом. Если вы хотите придраться к вопросу, то я могу написать его заново, но суть должны были все понять: как при наличии орма получить динамический мапппинг и не потерять всех прелестей этого самого инструмента. Чего непонятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:25:12 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Кстати о JRebel. Купить и не парится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:25:52 |
|
||
|
Добавить(изменить) сущность в рантайме в ОРМ
|
|||
|---|---|---|---|
|
#18+
Petro123Озверин, "Да как же тебя понять, коль ты ничего не говоришь? Якин. Языками не владею, Ваше благородие." из х/ф "Иван Васильевич меняет профессию" ))) Цель непонятна. А решений тогда - миллион)). Очевидно) Ты ж архитектор) цель написана в первом посте. Предлагаю внимательно его прочесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2013, 11:26:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38289603&tid=2129207]: |
0ms |
get settings: |
20ms |
get forum list: |
30ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
54ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
130ms |
get tp. blocked users: |
3ms |
| others: | 345ms |
| total: | 625ms |

| 0 / 0 |
