Спящий объект с определенными пользователем атрибутами

Может кто-нибудь дать мне несколько советов по моделированию объектов гибернации, которые имеют некоторые известные атрибуты, в то время как большинство определяется пользователем системы (во время первоначальной настройки системы)

Мне нужно иметь возможность искать эти определенные пользователем атрибуты в более поздний момент времени.


person JVXR    schedule 09.11.2009    source источник
comment
Вы хотите использовать известные атрибуты типизированным образом или хотите использовать все (известные и неизвестные) атрибуты единообразно?   -  person Thomas Jung    schedule 09.11.2009
comment
Тип данных может варьироваться, но я думаю, что мы можем обойти эту часть, имея некоторые метаданные о поле.   -  person JVXR    schedule 13.11.2009


Ответы (1)


Прежде всего, вам нужно решить, как вы собираетесь это моделировать. Двумя наиболее распространенными подходами являются модель Entity-Attribute-Value и моделирование строк.

С первым (намного) проще справиться с помощью Hibernate; однако в зависимости от критериев поиска, которые вы собираетесь использовать, он может работать (очень) плохо. Некоторые критерии вообще нельзя преобразовать в один SQL-запрос.

Последнее сложнее реализовать, поскольку вы смотрите как на динамическое изменение схемы базы данных во время выполнения, так и на изменение конфигурации Hibernate для соответствия. Взгляните на мой ответ на Как сопоставить динамически созданный table в Hibernate для более подробной информации, если вы решите пойти по этому пути.

Другая возможная альтернатива — использовать поддержку Hibernate для сопоставления XML но, опять же, в зависимости от ваших критериев поиска и функциональности XML (если таковые имеются), поддерживаемой вашей базовой базой данных, это может быть или не быть жизнеспособным вариантом.

person ChssPly76    schedule 09.11.2009