|
|
|
Hibernate и Timestamp в MssqlServer .
|
|||
|---|---|---|---|
|
#18+
День добрый всем! Изучаю Hibernate не так давно и, может не заметил в документации, но не нашел ответа на вопрос -может ли Hibernate определять что строка в таблице изменилась при помощи колонки с типом Timestamp (работаю на MS SqlServer-е.) Т.е . можно ли проверять версионность версионность записи по колонке с типом Tiemstamp в Hibernate ? Netdigitally yours Jericho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 17:56 |
|
||
|
Hibernate и Timestamp в MssqlServer .
|
|||
|---|---|---|---|
|
#18+
угу, может - см. документацию на предмет optimistic locking ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 18:19 |
|
||
|
Hibernate и Timestamp в MssqlServer .
|
|||
|---|---|---|---|
|
#18+
Привет! funikovyuriугу, может - см. документацию на предмет optimistic locking Может я невнимательно читаю но плз. ткни меня в те строчки в буке "Hibernate in action" или HibernateReference 2.1.7 или 3.0.2 где это четко сказано. В той главе что ты посоветовал (как я понял это глава Optimisitc concurrency control) сказано только следующее Код: plaintext 1. Поясни по подробнее плз. как использовать тип данных Timestamp (не дата+время) MSSqlServer-a для реализации оптимистической блокировки в Hibernate? Netdigitally yours Jericho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2005, 15:56 |
|
||
|
Hibernate и Timestamp в MssqlServer .
|
|||
|---|---|---|---|
|
#18+
timestamp - это поле таблицы, назначение которого хранить версии записей этой таблицы т.е. значение этого поля для определенной записи меняется при модификации этой записи. hibernate или многие другие средства доступа к БД используют эти поля при реализации оптимистической блокировки. Оптимистическое блокирование - это такая стратегия обеспечения согласованности данных (другими словами - это способ реализации транзакций, при котором блокирование изменяемых данных происходит только в момент фиксации изменений в БД) Используется это так 1) клиент забирает нужные ему данные с БД 2) клиент работает с ними внося какие-то изменения 3) клиент фиксирует изменения в БД 3й этап состоит из открытия транзакции в БД, отправки туда запросов на модификацию данных используя при этом информацию о версиях записей и наконец, отправка команды commit использование же версии данных означает что вместо обычных команд типа update <> set ... where id=:id используется команды update <> set ... where id=:id and timestamp_col = :last_timestamp. при этом если под такой update не попадет ни одна запись, то такая ситуация трактуется как попытка изменения записи которая уже была изменения пока мы находились на 2м этапе. В этом случае транзакция обычно откатывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2152139]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 414ms |

| 0 / 0 |
