私はHibernateを使うことを学んでいます。私はどのように冬眠中の同時挿入を適切に行うのだろうかと思っています。 > URL -Hibernate + concurrent inserts(MySQL INSERT IGNORE)
CREATE TABLE `urls` (
id INT PRIMARY KEY AUTO_INCREMENT,
md5 CHAR(32) UNIQUE,
url TEXT
);
テーブルの目的は、マッピングID <を維持することです:
は私がURLテーブルのように定義されています。 md5フィールドはurlからのmd5の合計です。通常、urlは1024バイトよりも長くなる可能性があります。これはmysqlのUNIQUE制約の制限です。
私の質問は、url - > id関数の同時処理を扱うクエリです。 JDBCの実装では、次の手順を実行します。
- SELECT id WHERE md5 = md5(url);
- 存在する場合は、返されたID、そうでない場合は:
- (URL、
- リトライ要求されたURLは、ステップ2と私は休止状態でこれを行うにはどうすればよい3の間に挿入された場合でも、それは素敵な作品1
ステップ?