
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.11.2014, 13:45
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
Есть Сущность. одно из его полей это enum. enum может принимать значения VAL1 и VAL2. Надо сделать так чтобы в базе данных в соответствующем столбце нельзя было ничего написать(даже если явно полезть в базу не через приложение) кроме VAL1 и VAL2. Hibernate умеет так делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 13:54
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionerдаже если явно полезть в базу не через приложение Каким боком хибернейт тут может помочь? Ограничение надо ставить на уровне БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 13:56
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
забыл ник, hbm2ddl.auto=update unique например hibernate умеет делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 13:56
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionerЕсть Сущность. одно из его полей это enum. enum может принимать значения VAL1 и VAL2. Надо сделать так чтобы в базе данных в соответствующем столбце нельзя было ничего написать(даже если явно полезть в базу не через приложение) кроме VAL1 и VAL2. Hibernate умеет так делать? А при чем здесь Hibernate? Тут надо на самой базе constraint делать. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 14:04
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 14:46
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionermad_nazgul, http://stackoverflow.com/a/4546164/2674303 а на базе это как сделать? Зависит от БД. Но обычно пишется ХП, которая вешается на BEFORE INSERT и BEFORE UPDATE В ней проверяется и если что делается EXECPTION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 15:02
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
mad_nazgul, как-то не очень мне это нравится решение, если честно. Это даже наверное на триггер больше похоже, чем на хранимку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 15:04
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionerзабыл ник, hbm2ddl.auto=update unique например hibernate умеет делать И? Даже несмотря на то, что использовать автогенерацию на продакшене зло, что мешает после генерации исполнить свой скрипт и доделать нужные констрейнты через sql? Как эмулировать енум - вариантов море, некоторые как mysql поддерживают такой тип, в других можно сделать констрейнт, или сделать через foreign key таблицу со всеми возможными вариантам значений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 15:38
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
забыл никquestionerзабыл ник, hbm2ddl.auto=update unique например hibernate умеет делать И? Даже несмотря на то, что использовать автогенерацию на продакшене зло, что мешает после генерации исполнить свой скрипт и доделать нужные констрейнты через sql? Как эмулировать енум - вариантов море, некоторые как mysql поддерживают такой тип, в других можно сделать констрейнт, или сделать через foreign key таблицу со всеми возможными вариантам значений всмысле и? Если он умеет какие-то ограничения в базу прокидывать почему бы не предположить, что он и другие может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 15:56
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questioner, тогда расшифруй авторнельзя было ничего написать(даже если явно полезть в базу не через приложение) без фраз "домохозяек пролезть". ЗЫ в хибере тоже есть триггер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 16:04
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
Хибернейт не является инструментом для решения архитектурных вопросов. Курите доки по целевой DBMS которую используете. Там - все ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 16:37
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionerвсмысле и? Если он умеет какие-то ограничения в базу прокидывать почему бы не предположить, что он и другие может? Я тебе первым постом сказал, что такие ограничения ставятся на уровне ДБ. После этого ты стал залупаться, а сейчас еще и хамить. Хибернейт нкапсулирует только базовые вещи, которые стандартизованы или поддерживаются почти всеми базами, enum констрейнт в их число не входит по очевидным причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 16:45
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questioner, То, что ты хочешь - называется check constraint. Умеет практически любая вменяемая СУБД. Реализуется, как уже сказали, средствами СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 17:35
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
Petro123, определить UserType и nullable = false? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 17:55
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
Petro123questioner, тогда расшифруй авторнельзя было ничего написать(даже если явно полезть в базу не через приложение) без фраз "домохозяек пролезть". ЗЫ в хибере тоже есть триггер пролезть = открыть командную строку СУБД и написать там команды типа update, delete, unsert. Хм. надо про триггеры в хибере почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.11.2014, 17:57
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
забыл никЯ тебе первым постом сказал, что такие ограничения ставятся на уровне ДБ. После этого ты стал залупаться, а сейчас еще и хамить. Не знаю почему тебе так показалось, но ничего такого я не делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2014, 07:54
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questioner, Если "пролез", тогда причем хибер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2014, 11:00
|
|||
|---|---|---|---|
|
|||
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
Пока что не все юзкейзы работают и соответсвенно что то проверяют изменением значений напрямую в базе. Ну и заметили, что можно в это поле написать пустоту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2014, 12:02
|
|||
|---|---|---|---|
Как запретить пустые и null значения для enum в БД?(hibernate) |
|||
|
#18+
questionerПока что не все юзкейзы работают и соответсвенно что то проверяют изменением значений напрямую в базе. Ну и заметили, что можно в это поле написать пустоту. защита от админов и программистов призрачна). Защищайте БД заказчика. Надеюсь там они не лазят) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2126328]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 467ms |

| 0 / 0 |
