問題タブ [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.

0 投票する
2 に答える
5797 参照

c# - 結合されたサブクラスのNHibernateで識別されたサブクラス

これが私の階層です:

これが2つの別々のhbmファイルでの私のマッピングです:

以下は私が得る例外です:

MappingException:XML検証エラー:名前空間'urn:nhibernate-mapping-2.2'の要素'joined-subclass'には、名前空間'urn:nhibernate-mapping-2.2'の無効な子要素'discriminator'があります。

私は何が欠けていますか?結合されたサブクラスの識別されたサブクラス階層をマップできませんか?

0 投票する
0 に答える
507 参照

hibernate - JPA: 同じエンティティにないエンティティ プロパティに discriminatorColumn を定義できますか?

エンティティ B と多対 1 の関係を持つエンティティ A があるとします。エンティティ B には、エンティティ A の特定のサブクラスの識別子として使用したいプロパティ (種類の列挙型) があります。共通の JPA でそれを定義できますか?および/または Hibernate アノテーションまたは、この関係を作成するためにエンティティ B の差別化されたバージョンを作成する必要がありますか?

乾杯、カイ

0 投票する
1 に答える
811 参照

hibernate - サブクラスのNhibernate/hibernate Discriminator

ディスクリミネーター付きのサブクラスがあります。サブクラスに別のディスクリミネーターを含めることはできます
か説明しようと思います
1つのディスクリミネーターはPersonTableにあり、タイプであり、2つのサブクラスがありますStudentとTeacher、Studentサブクラスには異なるサブクラスの学生がいます学生の記録の別の列に基づいています。
現在、discriminatorで結合されたサブクラスを使用していますが、サブクラスで識別できません

0 投票する
2 に答える
321 参照

hibernate - Hibernate を使用した、あるタイプと別のタイプのサブクラス間の 1 対 1 の関係

Hibernate を使用して、ある固定ドメイン タイプ A と別のドメイン タイプ B の間に 1 対 1 の関係を実装しようとしています。そのタイプは、特定のインターフェイスを実装する任意のタイプです。

状況:

システムには 3 つの異なるドメイン タイプがあります。インターフェース FlagSubscriber を実装する Country、Warehouse、および Store。

FlagSubscribers with Flags に参加したいと思います。各フラグは、0 または 1 つの FlagSubscriber とペアにすることができます。

実装:

データベースには、Country、Warehouse、Store、Flag のテーブルがあり、それぞれに ID 列と、特定の属性のさまざまな列があります。Flags と FlagSubscribers をペアにするために、次のようなリンク テーブルを作成しました。

  • flag_id
  • Subscriber_id
  • Subscriber_type

id フィールドは自明です。subscriber_type は、subscriber_id が国、倉庫、またはストアに関連するかどうかを決定するテキスト フィールドです。

質問:

Hibernate アノテーションを使用して、Flag クラスで FlagSubscribers をマップする方法を Hibernate に指示するにはどうすればよいですか?

弁別子を使用する必要があると思いますが、特定のケースでこれを行う方法、または可能かどうかさえ正確にはわかりません。

例、提案、またはアイデアへのポインタは大歓迎です!

0 投票する
1 に答える
1920 参照

nhibernate - 弁別子なしでNHibernateを使用してクラス階層ごとに1つのテーブルを永続化しますか?

インターフェイスと、このインターフェイスを実装するクラスがあります。

ここで、NHibernate 2.1.2.GAを使用して、クラスごとのテーブル階層を使用してインターフェイスとその実装者をマップしたいと思います。実際、この実装者が永続化される唯一のクラスになるため、識別子は必要ありません。この表で。私はNHibernateを約1年半使用していませんが、ここでいくつかのメモリブランクに苦しんでいます...

FNHを使用していないことを除いて、関連するこの質問と回答を読みました。
NHibernateマッピング:識別子なしで階層を単一のテーブルに保存

  1. discriminator使用中に属性が必須かどうか疑問に思いますかsubclass

  2. この特定のコンテキストでのXMLマッピングはどのようになりますか?

よろしくお願いします!

0 投票する
6 に答える
23688 参照

php - 教義2-where句で識別子列を使用する方法

私は次のようなwhere句で識別子列を使用しました:

エラーが発生しました:「メッセージ:[Semantical Error] line 0、col 73 near'format ='image'':Error:Class Entities \ File \ AbstractFile has no fieldorassociationという名前のformat」

where句で識別子列を使用するにはどうすればよいですか?

ありがとう。

0 投票する
2 に答える
2880 参照

entity-framework - Entity Framework 4.1 Code First データベースの Discriminator 列の名前を変更できません

次のようなモデル階層構成があります。

これにより、A と B の TPH と C の TPT が生成されます。これまでのところ、これはうまく機能しているようです。2 つのデータベース テーブルが生成されます。A モデル レコードと B モデル レコードの両方を含む "A" と、テーブル "A" にまだ保持されていない C モデル レコード列のみを含む "C" です。

表 A の TPH 配置については、生成された "Discriminator" 列があり、タイプ A とタイプ B を区別するために EF CF が独自に作成します。ただし、名前を変更したいと思います。この投稿のために、新しい名前は "Type" かもしれません。

これを行う方法を文書化したチュートリアルは、これを示唆しているようです:

ただし、データベースの生成中に、タイプ A、B、および C のモデルが同じテーブルに追加されているという実行時エラーが発生し、「マッピング条件を使用して行を区別できる」ため、これはうまくいかないようです。これらのタイプがマップされていること。」(これが何を意味するにせよ。)

私も試しました:

.. としても ..

.. これらの試みはコンパイルされ、実行時エラーは発生しませんが、Discriminator 列が「Discriminator」のままであるため、効果はないようです。

A に "Discriminator" という名前の新しい文字列プロパティを作成しようとしましたが、後でプロパティの列メタデータの名前を変更しようとしましたが、2 つの "Discriminator" 列、"Discriminator" と "Discriminator1" ができました。

アイデア?

0 投票する
1 に答える
158 参照

c# - 識別表をより便利にする方法

この記事からこのテーブル構造を複製しようとしています。

http://grabbagoftimg.s3.amazonaws.com/nhib_disc_01.PNG

これが私のPOCOとマッピングです。

ポコズ

マッピング:

Statusこれに関する問題は、次のようにテーブルが生成されることです。

Id....ItemStatus

1.....1

2.....2

ご覧のとおり、両方の列に常に同じ値が含まれているため、これはかなり役に立ちません。

上記でリンクした画像を複製するにはどうすればよいですか?

0 投票する
2 に答える
2882 参照

hibernate - 生成されたクエリに Hibernate JPA Discriminator 列が追加されない

DiscriminatorColumn を使用する抽象エンティティがあり、さまざまなエンティティによってサブクラス化されています。ここで、抽象クラスで名前付きクエリをクエリすると、「org.hibernate.InstantiationException 抽象クラスまたはインターフェイスをインスタンス化できません」というエラーがスローされます。分析の結果、生成されたネイティブ SQL 自体に識別子列が追加されていないことがわかりました。以下は、エンティティ マッピングの簡略化されたバージョンです。


0 投票する
1 に答える
2568 参照

inheritance - Grails の継承マッピングにおける識別子の問題

以下に説明する継承マッピングを持つ4つのクラスA、B、B1、B2があります
。A(テーブルAにマップされる)は最上位の親クラスであり、その継承マッピング戦略はtablePerHierarchy=false(そのサブクラスのそれぞれがシングルテーブル)。
クラス B は A から拡張され、B1、B2 は B から拡張されます。ただし、B1 と B2 は B と同じテーブルを共有するため、B クラスでは、tablePerHierarchy=trueB1 と B2 を分離するために と識別子を宣言します。
詳細コードは次のとおりです。

アプリを起動すると、エラーが発生しました:

ディスクリミネーターに関する Grails のドキュメント ( http://grails.org/doc/latest/ref/Database%20Mapping/discriminator.html ) の指示に従いましたが、機能しませんでした。ここでこのドキュメントの問題に関する JIRA を見つけました: http://jira.grails.org/browse/GRAILS-5168、コメントとしてコードを修正しましたが、それでも同じエラーが発生しました。

この問題を引き起こした理由はわかりません。B の tablePerHierarchy=true は、A で定義された戦略をオーバーライドしますか?
この問題を解決するのを手伝ってくれませんか? どうもありがとう。