Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Аннотация @Version для сущностей (Entity)

14.04.2013, 02:53. Показов 2731. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В книге по spring написано что для того чтобы Hibernate разбирался с различными версиями объектов что ему присылают чтобы таким образом разрешить проблему редактирования данных сразу несколькими пользователями он предлагает такую штуку как поле проаннотированное @Version. У меня получилась такая вот сущность:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Entity
@Table(name = "Post", schema = "dbo", catalog = "mydb")
public class Post implements java.io.Serializable {
 
    private Short pstId;
    private String pstName;
    private Set<Employee> employees = new HashSet<Employee>(0);
    private int version;
 
    @Version
    @Column(name = "VERSION")
    public int getVersion() {
        return this.version;
    }
 
    public void setVersion(int version) {
        this.version = version;
    }
    ....
}
так вот при выполнении оно ругается что в таблице нет поля version, те аннотацию @Version что это чисто для hibernate оно благополучно игнорирует и пытается найти такое поле в таблице. Что я делаю не так? Может надо ещё что-то указать кроме аннотации @Version ?

Добавлено через 17 минут
Если более детально об исключении то я получаю это:
Code
1
2
3
Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet
...
Caused by: com.sybase.jdbc3.jdbc.SybSQLException: Invalid column name 'VERSION'
тоесть когда у меня такая сущность то jpa с поставщимком hibernate у меня начинает тянуть данные и пытаеться взять с таблицы в базе ещё и VERSION вместо того чтобы понять что Version это вовсе не поле таблицы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2013, 02:53
Ответы с готовыми решениями:

Entity Framework. Объединение сущностей
Привет. Начал разбираться с MVC и меня возникла проблема, я создал примитивную базу данных загрузил ее с помощью entity (DataBaseFirst)...

Работа с Entity FrameWork обновление сущностей
Добрый день, у меня есть 2 сущности (работа и люди) со связкой 1 ко многим, есть необходимость менять связь сущности т.е. я хочу изменить у...

Возврат результата объединения (join) данных сущностей Entity Framework из метода
Доброго времени суток, ребята! Есть у меня таблица в БД (Flood) и соответствующая ей сущность EF, которая имеет 2 внешних ключа (на...

2
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
14.04.2013, 04:00
поле версия это реальное поле в таблице для отслеживания конкурирующих изменений
ругаетрся так как в таблице его реально не существует, вам нужно альтернуть таблицу и добавить поле
ну и почитать про оптимистик и пессимистик локинг
https://blogs.oracle.com/carol... rrency_and
http://habrahabr.ru/post/121858/

Цитата Сообщение от Gepar Посмотреть сообщение
пытаеться взять с таблицы в базе ещё и VERSION вместо того чтобы понять что Version это вовсе не поле таблицы.
улыбнуло
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
14.04.2013, 12:59  [ТС]
mutagen, так оно так работает ? Ну это тупо как-то. Я думал оно будет само у себя внутри держать версию текущую и когда отдавать записи то будет её устанавливать, а когда кто-то что изменяет в записи изменять ... хотя сейчас только прикинул сколько же это ему данных держать то в себе тогда надо чтобы это работало. Ок, тогда сейчас добавлю такое поле в таблицу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2013, 12:59
Помогаю со студенческими работами здесь

Entity Framework: уведомление сущностей об удалении другой сущности, на которую есть ссылка
Доброго времени суток. Кто подскажет, как реализовать на базе Entity Framework такую штуку. Есть сущность клиент и есть сущность заказ....

Аннотация для работы с методом
Необходимо написать аннотацию, которая бы игнорировала вывод строки, а вместо неё выводила строку &quot;Аннотация&quot;. Аннотацию...

Аннотация в Spring для чтения properties
Для того, чтобы читать данные из application.properties, которые находятся в classpath, для этого можно использовать анноатцию @Value, ...

Есть ли аннотация для регулярных выражений ?
Вот такие выражения, вызывают массу предупреждений в Intelliji Idea. Есть ли способ как то пометить их соответствующей аннотацией,...

@OneToOne or @ManyToOne on `my entity#1` references an unknown entity `my entity#2`
Привет всем! У меня появилась такая ошибка когда я работаю с двумя базами, именно когда делаю save в другую базу сущность первой, ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru