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

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

14.04.2013, 02:53. Показов 2710. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru