Форум программистов, компьютерный форум CyberForum.ru

Java EE (J2EE)

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

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

14.12.2016, 23:18. Просмотров 236. Ответов 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-й вариант, забить на аннотации и внести изменения напрямую в структуру базы... - но это самый крайний случай...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2016, 23:18     Уникально поле в hibernate или индесация полей
Посмотрите здесь:

Java EE Hibernate: как извлечь из Exception имя ошибочных полей?
Java EE Java + Hibernate
hibernate Java EE
Hibernate Java EE
Java EE JBoss 6.1.0 и Hibernate 4
GlassFish + Hibernate Java EE
Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister Java EE
Java EE Hibernate и коллекции
Java EE Hibernate Annotation
Hibernate. No identifier specified for entity. Разница в аннотировании полей и set-ов Java EE
Java EE Выборочная загрузка через Hibernate или создание через JaxB
Hibernate Java EE

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_ViPeR_
418 / 393 / 62
Регистрация: 02.03.2010
Сообщений: 935
15.12.2016, 09:17     Уникально поле в hibernate или индесация полей #2
Java
1
@Column(unique = true)
Не вкатывает?
Можно еще попробовать
Java
1
2
3
4
@Entity
@Table(uniqueConstraints = {
   @UniqueConstraint(name = "QU_url", columnNames = {"url"})})
public class RentUrl {
Ну а в БД UNIQUE индекс на поле делать - само-собой разумеется.
LeX
222 / 222 / 57
Регистрация: 30.06.2010
Сообщений: 811
15.12.2016, 09:26     Уникально поле в hibernate или индесация полей #3
тыц первые же ссылки
joub
1 / 1 / 1
Регистрация: 08.01.2013
Сообщений: 59
15.12.2016, 10:39  [ТС]     Уникально поле в hibernate или индесация полей #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/
Yandex
Объявления
15.12.2016, 10:39     Уникально поле в hibernate или индесация полей
Ответ Создать тему
Опции темы

Текущее время: 15:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru