問題タブ [discriminator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
inheritance - JPA 複数の識別子の値
私たちは新しいプロジェクトを立ち上げており、JPA に eclipselink を使用することにしました。ドメイン モデルを作成しているときに、問題が発生しました。
組織と呼ばれる基本クラスがあります。また、両方とも組織を拡張するサプライヤーと顧客もいます。JPA がディスクリミネーターを使用しているテーブルを作成したとき、これの問題は、サプライヤーが組織である可能性があることです。
だから私が基本的に欲しいのは(これらはアイデアを得るためのデータベーステーブルです):
これを明確にするのに役立つ小さな例:
SparklingGlass という顧客がいます。SparklingGlass は当社からコンピューターを購入するため、SparklingGlass は当社の顧客として保存されます。次に、SparklingGlass からウィンドウを購入するため、SparklingGlass はサプライヤーでもあります。これが私たちのシステムで実現したいことです。
これはJPAで何らかの方法で可能ですか?そうでない場合、これらの場合のベストプラクティスは何ですか?
ところで、JOINED 継承タイプを使用します
inheritance - JPA eclipselinkは、識別子なしで継承を結合しました
新しいプロジェクトにはJPAを使用しています。弁別子を持つ継承関係があります。
スーパークラス テーブルから識別子フィールドを削除しようとしていますが、eclipselink を使用してこれを達成する方法がわかりません。これは休止状態で可能であることを知っていますが、eclipselinkでこれを達成する方法を知っている人はいますか?
なぜこれを達成したいのか疑問に思われるかもしれません (ディスクリミネーターを使用すると、他のテーブルの存在チェックが不要になるため、ディスクリミネーターを使用する方が高速であることはわかっています)。これは、次の実装を試みているためです。と答え)。
grails - mysql テーブルで、識別子の値を変更できません
Grails には、次のような 3 つのクラスがあります。
1.
2.
3.
MySQL テーブルで、識別子列名を として取得できますがNode_Type
、およびのような列値を取得できません。TASK_NODE
DECISION_NODE
代わりに、私はこのようになっています [com.p1.Task
またはcom.p1.Decision
]
asp.net-mvc - MVC EF:親クラスが抽象である場合、ディスクリミネーターフィールドは表示されません
Productというエンティティがあります:
おもちゃという商品があります
事実上、おもちゃは製品です。製品には独自のプロパティがありますが、「名前」と呼ばれる抽象的なプロパティもあります。子供は自分の名前を知っているので、それを上書きします。
これは私には問題ないように見えましたが、Add-Migrationを実行すると(EF Code-Firstを使用しているため)、識別子フィールドがありません。抽象フィールドを削除し、クラスを非抽象フィールドにすると、識別子フィールドが表示されます。
親クラスを抽象化できますか?
ありがとう!
hibernate - 弁別値を知る方法
まず最初に、このフォーラムの管理者とそれに参加するすべての人々に感謝したいと思います。それが私が投稿する最初の質問です。それでは、休止状態でのマッピングのこの例を見てみましょう。
したがって、ディスクリミネーター値を持つテーブルが1つあり、Hqlを使用してデータベースからプロジェクトを返す関数を作成し、このオブジェクトのディスクリミネーター値を知る方法を知りたいと思います。前もって感謝します。
mysql - マルチテナンシーの場合にデータベースのコピーを自分自身に作成する方法
mysqlデータベースを使用したマルチテナントシステムがあります。弁別子ベースのマルチテナンシーがあります。各テーブルには、tenantId列が含まれています。TenantId=-1のデフォルトテナントがあります。このデフォルトのテナントデータベースには、すべての新しいテナントの初期データが含まれています。
同じデータベース内の新しいtenantIdに対してtenantId=-1のすべてのデータをコピーするにはどうすればよいですか?データベースにはたくさんのテーブルがあるので、そのようなスクリプトを手動で書くのは非常に難しいです。
主な問題:dbのダンプを作成する場合、主キーと外部キーは新しいはずなので、このダンプを同じdbにロードできません。
grails - Grails では、どのように識別子の値を取得しますか?
私はこのようなクラスを持っています:
コントローラー/ビューでこの識別子の値を取得する方法はありますか?
hibernate - 多対多のセルフ リレーションシップを使用した間違った挿入と選択
抽象的なスーパークラス「ビュー」があります
児童施設クラス
そして子供会
私は3つの機関を救いました。Ok。この3つの機関でグループを救おうとしました。これにより、新しいビューが作成されました (タイプ = 2)。しかし、リレーションシップ テーブルは次のようになります。
つまり、GroupInstitution.id の代わりに DiscriminatorValue を使用します (DiscriminatorValue を 3 に変更しました。テストだけで、関係は 3 で完了しました)。
注釈は間違いですか?
grails - Grails では、ディスクリミネータに基づいて DB 内で何かを検索するにはどうすればよいですか?
次のクラスがあるとします。
JSON 文字列を指定して、DB で特定の Fruit インスタンスを見つけることができるように、検索アルゴリズムを実装する必要があります。例えば:
また
問題は、果物が同じ名前を持つ可能性があることです。これを検索すると、次のようになります。
Apple
または を返す場合がありBanana
ます。次のようなタイプに基づいて、タイプでフィルタリングできる必要があります。
Grailsでこれを行うにはどうすればよいですか?