- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
Hibernateは業務用アプリとかで出てくる、楽観的ロック機構を標準で備えています。それを試してみました。複数のトランザクションである同じrowを検索してきて、それをそれぞれのトランザクションでupdateしてみようと思います。
**対象テーブルの情報 [#g644d7c9]
#ref(MESSAGES.png)
対象のテーブルMESSAGESは以下の通り:
mysql> describe test.MESSAGES;
+-----------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------------+------+-----+---------+----------------+
| MESSAGE_ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
| NEXT_MESSAGE_ID | int(10) unsigned | YES | MUL | NULL | |
| MESSAGE_TEXT | varchar(255) | NO | | NULL | |
| VERSION | int(10) unsigned | NO | | 0 | |
+-----------------+------------------+------+-----+---------+----------------+
このテーブルを作成するために実行するDDLは以下の通り:
CREATE TABLE `MESSAGES` (
`MESSAGE_ID` int(10) unsigned NOT NULL auto_increment,
`NEXT_MESSAGE_ID` int(10) unsigned default NULL,
`MESSAGE_TEXT` varchar(255) character set ujis NOT NULL default '',
`VERSION` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`MESSAGE_ID`),
KEY `MESSAGES_FKIndex1` (`NEXT_MESSAGE_ID`),
CONSTRAINT `MESSAGES_ibfk_1` FOREIGN KEY (`NEXT_MESSAGE_ID`) REFERENCES `MESSAGES` (`MESSAGE_ID`) ON DELETE NO ACTION
ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}