Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Создать уникальное значение в базе / 10 сообщений из 10, страница 1 из 1
09.05.2014, 02:44
    #38637344
mr.Jack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
Здравствуйте,

В БД есть уникальное поле. Где-то в коде генерится его значение. Как правильнее выполнять проверку на уникальность?
Я делаю так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
boolean status = false;
while(!status) {
    String vlaue = generatorService.generateValue(Params params);
    EntityClass entityClass = tableDAO.findByValue(value);
    if(null == entityClass) status = true;
}

saverDAO.saveOrUpdate(entityClass);



то есть проверка в цикле позволяет сгенерировать уникальное значение.

А как делаете вы?
...
Рейтинг: 0 / 0
09.05.2014, 17:52
    #38637467
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.Jackто есть проверка в цикле непозволяет сгенерировать уникальное значение.
Обычно в БД есть стандартные методы , типа auto increment или sequence, в том же Hibernate указывается generator и не парят себе мозги.
...
Рейтинг: 0 / 0
10.05.2014, 11:13
    #38637624
mr.Jack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
Сергей Арсеньев,

Про генераторы в hibernate не подумал, спасибо!
...
Рейтинг: 0 / 0
11.05.2014, 23:43
    #38638198
mr.Jack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
Сергей Арсеньевmr.Jackто есть проверка в цикле непозволяет сгенерировать уникальное значение.
Обычно в БД есть стандартные методы , типа auto increment или sequence, в том же Hibernate указывается generator и не парят себе мозги.

А если например надо сгенерировать значение для поля, не являющегося ключом. Можно настроить генератор в таком случае?
...
Рейтинг: 0 / 0
11.05.2014, 23:52
    #38638207
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.Jack,
ты уверен что твои соседи программисты тебя или твою идею поняли?
...
Рейтинг: 0 / 0
12.05.2014, 11:18
    #38638479
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.JackА если например надо сгенерировать значение для поля, не являющегося ключом. Можно настроить генератор в таком случае?
http://en.wikipedia.org/wiki/Globally_unique_identifier
...
Рейтинг: 0 / 0
12.05.2014, 17:27
    #38639019
mr.Jack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
Blazkowiczmr.JackА если например надо сгенерировать значение для поля, не являющегося ключом. Можно настроить генератор в таком случае?
http://en.wikipedia.org/wiki/Globally_unique_identifier
Да, сейчас используется аналог - UUID.
Однако, мне интересно, нет ли возможности в hibernate настроить генерацию значения при INSERT ? Скорее всего это оверинжиниринг, но все-же интересно
...
Рейтинг: 0 / 0
12.05.2014, 17:30
    #38639026
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.JackДа, сейчас используется аналог - UUID.
Однако, мне интересно, нет ли возможности в hibernate настроить генерацию значения при INSERT ? Скорее всего это оверинжиниринг, но все-же интересно
Ну, вот же
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html#d0e5294
...
Рейтинг: 0 / 0
12.05.2014, 17:46
    #38639046
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.Jack,

Обычно, на подобные вопросы отвечает документация .
...
Рейтинг: 0 / 0
12.05.2014, 19:07
    #38639116
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать уникальное значение в базе
mr.Jack, истинные самураи изучают SQL а не хибернейт.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Создать уникальное значение в базе / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]