| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > сохранение в БД, не учитывая регистр |
| Автор: Samotnik 4.10.2010, 12:51 |
| привет народ. Какой способ можете посоветовать в следующей ситуации : Есть функционал сохранения данных в БД через hibernate. Сейчас, если сохранить например одно слово test, а затем tEst, то сохранение произойдет, и в БД окажутся 2 записи. А как сделать, чтобы если одно и тоже слово, но в разном регистре, то не сохранялось, а выкидывало бы что-то вроде ConstraintViolationException ? конечно самый простой и примитивный способ это делать toLowerCase() стрингу, но это не то что нужно. Было бы лучше реализовать это на уровне БД. Есть какие-нибуть идеи ? |
| Автор: LSD 4.10.2010, 14:41 |
| На Oracle можно создать функциональный уникальный индекс. Если база такого не поддерживает, то самый нормальный способ, это добавить поле lower_name (в хибер его мапить не нужно) на которое наложить ограничение уникальности и в триггере следить за тем, чтобы туда прописывалось нужное значение. |