Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java EE (J2EE)

Войти
Регистрация
Восстановить пароль
 
joub
1 / 1 / 1
Регистрация: 08.01.2013
Сообщений: 122
#1

Уникально поле в hibernate или индесация полей - Java EE

14.12.2016, 23:18. Просмотров 409. Ответов 3
Метки нет (Все метки)

Всем доброго...

Есть сущность в hibernate с полями

Java
1
2
3
4
5
6
7
8
9
10
@Entity
@Table
public class RentUrl {
    @Id
    @GeneratedValue
    private Integer id;
 
    @Column
    private String url;
}
id - само собой - уникальное, т.к. генерируется

Для поля URL так-же необходимо отслеживать уникальность, т.е. не создавать таких же записей, идее как это реализовать - две:
- переда созданием делать запрос на полнотекстный поиск;
- на уровне MySQL - сделать это полей уникальным, и вызов "persist" обернуть в try-catch

и там и там необходимо как-то указать в базе или на Индексирование данного поля, или на то что это Уникальный ключ.

Покопался в интернете - и что-то ничего не нашел, а что нашел - то попросту не работает...


да, 3-й вариант, забить на аннотации и внести изменения напрямую в структуру базы... - но это самый крайний случай...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2016, 23:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Уникально поле в hibernate или индесация полей (Java EE):

Hibernate: как извлечь из Exception имя ошибочных полей? - Java EE
Использую Spring 3.x + Hibernate 3.x @Entity @org.hibernate.annotations.Entity public class User implements UserDetails { ... ...

Hibernate. No identifier specified for entity. Разница в аннотировании полей и set-ов - Java EE
Добрый день. Изучая Hibbernate и Spring столкнулся с проблемой. Есть клас Car: package com.validateproject; import...

Hibernate Criteria API. сделать выборку только нужных полей - Java
Хочется чтобы при List l = session.createCriteria(Cat.class).list() l - был не списком Instance of Cat, а был списком массивов Object ...

Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister - Java EE
Доброго времени суток. Сталкиваюсь со всякими ошибками при добавлении данных в свою mysql бд. Вот код ошибки Exception in thread...

Выборочная загрузка через Hibernate или создание через JaxB - Java EE
Добрый день. загружаю обьект через хибернейт session.load(Class.class, id). Установлена ленивая загрузка. Обьект типа: Entity1{ ...

Как удалить все записи, в которых не уникально n-ное поле - MySQL
как удалить все записи которые в которых не уникально нное поле , при этом 1 экземпляр оставить

3
_ViPeR_
540 / 434 / 79
Регистрация: 02.03.2010
Сообщений: 1,056
15.12.2016, 09:17 #2
Java
1
@Column(unique = true)
Не вкатывает?
Можно еще попробовать
Java
1
2
3
4
@Entity
@Table(uniqueConstraints = {
   @UniqueConstraint(name = "QU_url", columnNames = {"url"})})
public class RentUrl {
Ну а в БД UNIQUE индекс на поле делать - само-собой разумеется.
0
LeX
331 / 330 / 87
Регистрация: 30.06.2010
Сообщений: 1,277
15.12.2016, 09:26 #3
тыц первые же ссылки
0
joub
1 / 1 / 1
Регистрация: 08.01.2013
Сообщений: 122
15.12.2016, 10:39  [ТС] #4
вопрос решен

Уникальный индекс на String поле:
Java
1
2
@NaturalId
private String url;
Простой индекс.
Java
1
2
3
@Column
@org.hibernate.annotations.Index(name = "sources")
private String sources;
а нашел тут:
https://docs.jboss.org/hibernate/ann...n/html_single/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2016, 10:39
Привет! Вот еще темы с ответами:

Занести в таблицу массив элементов с 0 по 5, далее с 6 по 9, т.е., поле с почтовым ящиком уникально - PHP БД
Здравствуйте! Подскажите пожалуйста как это реализовать? Есть массив элементов: 0 -> igorek@mail.ru 1 -> Игорёк 2 -> Программист ...

Функция в форме Access: Поле 4= «Санкт-Петербург», если Поле 2 = «С» или «Москва», если Поле 2 = «М» - VBA
Подскажите пожалуйста функцию в Access в форме, если вообще такое вообще так можно сделать: Поле 4= «Санкт-Петербург», если Поле 2 = «С»...

Подсветка строк содержащих одинаковые значения полей или подсветка полей с одинаковым значением в таблице - MS Access
Подскажите, возможна ли реализация в форме такой функции: При наведении курсора на поле высвечиваются по всей таблице поля имеющие такое же...

Для каждой переменной-отдельное поле или массивом в одно поле? - PHP БД
Можно ли несколько переменных загнать в массив через сериализацию в одну поле или все же оптимальнее делать для каждой переменной отдельное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru