sql >> データベース >  >> RDS >> Mysql

多対多は、多対多の多対多のマッピングに属しますか?

    Hibernateはインターフェースをマップできます-参照例 。 Grailsが従来のマッピングでこれをサポートしているかどうかは疑問ですが、マッピングを使用してみることができます注釈 上記の例、またはXML構成から。

    編集 :コメントの質問に答える:

    データベースレベルでは、Taggableが必要です。 Tag.Referencesのテーブル 外部キーで参照します。

    1. ポリモーフィズムが自動的に追加された場合、ディスクリミネーターはポリモーフィズムを無効にしません。たとえば、階層ごとのテーブルマッピングでは、Hibernate/Gormがclassを追加します。 dbからオブジェクトを読み取るときに具象クラスを見つけるためのフィールド。

    2. Taggableをマッピングする場合 sから2つのテーブル-Taggable Taggableの一部 その他はすべて、1:1で参照される特定のテーブルにあります。すべてのディスクリミネーターの作業は、Hibernateによって実行される必要があります。

    BTWclass フィールドはかなり長いです-完全に修飾されたクラス名が含まれています

    編集2 :どちらの方法でも、かなり複雑になっています。私は、別の質問で提案したアプローチを個人的に採用します。

    • Taggableインターフェースを使用してすべてのクラスにhasMany=[tags:Tag]を動的にクエリします プロパティ;
    • または、あまり好ましくありませんが、手作りのチャイルドテーブルとディスクリミネーターを用意することです。



    1. magic_quotes_gpcがオンの場合、mysql_real_escape_string()を使用する必要がありますか?

    2. SQLServerでのsp_help_jobscheduleの使用

    3. MySQL:列が存在しない場合はALTER TABLE

    4. SQLServerで時間フィールドを合計する方法