MySQL の「ON DUPLICATE KEY UPDATE」を Hibernate で実装するにはどうすればよいですか?

DDD
リリース: 2024-11-11 06:37:03
オリジナル
529 人が閲覧しました

How to Implement MySQL's

MySQL の "ON DUPLICATE KEY UPDATE" を Hibernate で利用する方法

開発者は、データを "盲目的に" にデータを挿入する必要性に頻繁に対処します。データベース。レコードがすでに存在する場合は、それを簡単に更新できる必要があります。 MySQL は、このシナリオに対処するための「INSERT ... ON DUPLICATE KEY UPDATE ...」構文を提供し、効率と効果的な分離の両方を強化します。

Hibernate による実装の課題

Hibernate で MySQL の構文を使用しようとすると、障害が発生する可能性があります。

  • 認識されないキーワードによる HQL パーサー例外
  • SQL の使用制限、実行更新の禁止
  • 高同時実行シナリオ用の Hibernate の saveOrUpdate

@SQLInsert アノテーション

幸いなことに、Hibernate は @SQLInsert アノテーションを提供しており、開発者は MySQL の "ON DUPLICATE KEY" を利用できます。 UPDATE" 構文:

@Entity
@Table(name="story_count")
@SQLInsert(sql="INSERT INTO story_count(id, view_count) VALUES (?, ?) ON DUPLICATE KEY UPDATE view_count = view_count + 1" )
public class StoryCount { }
ログイン後にコピー

エンティティ クラスに @SQLInsert アノテーションを付けることにより、開発者は "ON DUPLICATE KEY UPDATE" 句を含む SQL クエリを実行できます。このアノテーションにより、Hibernate は MySQL の構文とシームレスに対話できるようになり、開発者がレコードを効率的に更新したり、レコードが存在しない場合に挿入したりできるようになります。

以上がMySQL の「ON DUPLICATE KEY UPDATE」を Hibernate で実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート