4

MySQLクラスタ(NDBエンジンを使用)はクラスタ間で外部キー制約をサポートしていないとの通知を受けました。

JPA/を使用しHibernateて、データベースが参照整合性を強制しない場合、どのように参照整合性を強制しますか?

1つのオプションは、データベースを呼び出してデータを検証し、有効な場合はinsert/update/delete操作を実行することです。パフォーマンスに影響があるため、このアプローチを採用するのは少し気が進まない。

質問:

  • データベースで外部キーチェックがサポートされていない場合、 /MySQLでクラスターを使用する場合、通常、参照整合性チェックをどのように実施しますか。JPAHibernate

  • 手動チェックが唯一のオプションである場合、データベースへの1回のトリップで手動チェックトランザクションを完了する方法はありますか?(おそらくCRUD操作の一部として)

4

1 に答える 1

3

Hibernate/JPA機能を使用して参照整合性を強制することはできないと思います。egyalが述べたように、MySQL自体に「プログラム」外部キーを作成するにはトリガーを使用する必要があります。

これを行う方法については、MySQL Webサイトに記事があります:http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html

于 2012-04-27T14:23:46.660 に答える