Inkrement ist definitiv schlecht, wenn Sie mehr als einen Prozess haben, der in dieselbe Tabelle schreibt - Sie werden zwangsläufig Kollisionen haben.
Da es sich um MySQL handelt, wäre identity
am einfachsten zu verwenden . In Ihrem Hibernate-Mapping:
<generator class="identity"/>
In Ihrem MySQL-Skript:
CREATE TABLE IF NOT EXISTS `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data1` int(11) NOT NULL,
`data2` int(11) NOT NULL,
`timestamp` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
So ändern Sie eine vorhandene Tabelle:
ALTER TABLE `my_table`
CHANGE COLUMN `id` `id` int(11) NOT NULL AUTO_INCREMENT=$NEW_VALUE$;
wobei $NEW_VALUE$ durch die nächste verfügbare ID ersetzt werden sollte, damit die Sequenz nicht auf 1 zurückgesetzt wird.