|
|
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Есть класс ItemPropType - определяет тип свойства объекта Класс Item - определяет объект У объекта может быть некий набор свойств, у свойства есть строковое значение. Набор свойств конкретного объекта зависит от его типа. Лучше всего реализовать этот набор через HashMap<ItemPropType,String> или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2014, 21:28 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2014, 21:42 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Уточню задачу. Пользователь заполняет таблицу со свойствами. Создает нужные ему типы объектов. Указывает у какого типа объектов какие свойства присутствуют. После того как у объекта будет выбран его тип, я даю возможность заполнить ему значения для этих свойств. Возможно прийдется быстро искать эти свойства по их типу в коллекции свойств объекта, поэтому реализация их что-то типа HashSet<ItemPropValue> кажется неудачной. Вариант 1 Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Вариант 2 Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. И не забывайте - объекты делаются для Hibernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2014, 22:14 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Нашел как сделать вариант 2 Код: xml 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 03:33 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Сорри, имелся ввиду 1-й вариант. Да и <map name="itemProps" ... текст должен начинаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 03:37 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Если название свойства уникальное, то класс ItemProp тут лишний (а тем более ItemPropValue). Класс Item должен выглядеть следующим образом: Код: java 1. 2. 3. 4. При этом таблица itemProps на самом деле в базе будет, но в классах ее не должно быть, всё решается меппингом/аннотациями Код: xml 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 09:38 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Prop класс нужен т.к. это классификатор. А свойства это всего лишь табличка один ко многим. Вам повезло что свойства все строковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 09:51 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Ну, если у свойств кроме названия и значения есть еще какие-то характеристики, то для этого случая правильный меппинг уже показан выше. Но для простых случаев "название-значение" не вижу смысла городить лишние классы. При этом вполне может быть и справочник свойств в отдельной таблице, хотя и не будет отслеживаться ссылочная целостность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 10:08 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Тип объектаid name2 Носки4 Водка Объектыid PropType Name33 2 Махровые34 4 Столичная Атрибутыid idObj Name Values123 34 Крепость 40124 34 Прозрачность 1.0125 33 Аромат "Сильный" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 12:31 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Таблица свойств нужна, так как у разного типа объекта набор свойств разный. Существует табличка многие-к-многим, где описывается что у Носков есть свойство Аромат и Производитель, а у Водки - Производитель, Крепость и Прозрачность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 14:59 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
PsolaoСуществует табличка многие-к-многим вот и нарисуй их как я нарисовал в ворде или excell. А потом программируй. Т.к. если добавить ещё тип атрибута, то рукой подать до EAV. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:10 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Petro123вот и нарисуй их как я нарисовал в ворде или excell. А потом программируй. Не хватает мелочи, как сделать так, чтобы Hibernate генерил метод getКрепость() у объекта на основании того, что в табличке Атрибуты есть строка про это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 15:54 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевHibernate генерил метод getКрепость() хороший юмор)).....по строкам-динамике, генерить код-статику)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:00 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Petro123хороший юмор)).....по строкам-динамике, генерить код-статику)) Легко. Просто дело в другом. Классам генеренными в динамике, некому пользоваться. Ведь до генерации об их структуре никто не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:06 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Petro123, А разве не в этом был смысл вопроса ТС? Цитируя Cтругацких: Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица — искать решение, если оно и так есть. Речь идёт о том, как поступать с задачей, которая решения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:08 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПросто дело в другом. Классам генеренными в динамике, некому пользоваться. Ведь до генерации об их структуре никто не знает. В java можно пользоваться методом Duck typing. Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:15 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев В java можно пользоваться методом Duck typing. Код: java 1. И что? Для того чтобы использовать конкретные имена (не важно как) их нужно знать. Если их не знать, то их и нельзя использовать. Можно писать код, который делает что-то общее для всех имён. Но тогда и нет смысла в именах как таковых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:21 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИ что? Для того чтобы использовать конкретные имена (не важно как) их нужно знать. Если их не знать, то их и нельзя использовать. Можно писать код, который делает что-то общее для всех имён. Но тогда и нет смысла в именах как таковых. Почему. Вот простой пример. Написать динамический генератор табличных форм. 1. Как создать XML с перечислением полей какие надо отображать - понятно. 2. Как хранить разные поля в БД понятно. 3. Как прочитать поле понятно. Осталась малость и универсальная мегахрень готова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:28 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев Почему. Вот простой пример. Написать динамический генератор табличных форм. 1. Как создать XML с перечислением полей какие надо отображать - понятно. 2. Как хранить разные поля в БД понятно. 3. Как прочитать поле понятно. Осталась малость и универсальная мегахрень готова. А если подумать дальше, кто же этими формами будет пользоваться. То станет понятно, что проще нагенерить классы и по ним писать уже логику. В этом основная вопрос. Сами по себе формы без кода никому не нужны. На самом деле такими идеями бредили в начале 2000х. Но ни одной из них ещё не выстрелило и лишь не многие все ещё наплаву. Поэтому подбная попытка снова изобрести такой велосипед и на коленке у меня вызывает улыбку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:34 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПоэтому подбная попытка снова изобрести такой велосипед и на коленке у меня вызывает улыбку. Может человек курсовую ваяет. Никто же не говорит, что он новый SAP решил сваять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:39 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
А зачем мне динамика?? То что нужно я уже получил: 1. Коллекция свойств, чтобы вывести их в табличку ,и дать редактировать пользователю. 2. Быстрый доступ по ключу, чтобы проверить все ли свойства у объекта есть, на случай, если в настройках типа добавили еще пару свойств. Код: java 1. Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:40 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Psolao, А что потом с этим делать. Расскажите, пожалуйста. Правда интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:42 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевBlazkowiczПоэтому подбная попытка снова изобрести такой велосипед и на коленке у меня вызывает улыбку. Может человек курсовую ваяет. Никто же не говорит, что он новый SAP решил сваять. Не курсовая. Простенькая программа для учета компьютерного барахла, для внутренних нужд. Поэтому и набор свойств нужен, потому что у системника, роутера, монитора и чего-то там еще свойства разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:44 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
PsolaoТаблица свойств нужна, так как у разного типа объекта набор свойств разный. Существует табличка многие-к-многим, где описывается что у Носков есть свойство Аромат и Производитель, а у Водки - Производитель, Крепость и Прозрачность. И тем не менее, соединение со справочной таблицей необязательно, если внутри объекта наименование свойства имеет признаки ключа (уникальное и не изменяется). Да, это отступление от 3NF в её классическом виде, но зачастую сознательная денормализация может значительно облегчить жизнь разработчика. При небольшой длине поля "наименование свойства" (скажем, до 30 символов) вполне себе вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:44 |
|
||
|
Подскажите оптимальную реализацию переменного количества свойств для объекта в Hibenate.
|
|||
|---|---|---|---|
|
#18+
PsolaoНе курсовая. Простенькая программа для учета компьютерного барахла, для внутренних нужд. Поэтому и набор свойств нужен, потому что у системника, роутера, монитора и чего-то там еще свойства разные. Тогда вот этот ответ, ИМХО, предельно правильный. 15473004 Нет смысла все усложнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2014, 16:49 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38539285&tid=2127752]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 526ms |

| 0 / 0 |
