問題タブ [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 投票する
1 に答える
3119 参照

java - Hibernateマッピングファイルのdiscriminator-valueの意味は何ですか?

マッピング コードは次のとおりです。上記のコードには、1 つの親クラス OrganizationUnit と 2 つのサブクラスがあります。

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

node.js - Mongoose statics タイプ エラー: そのようなメソッドはありません

マングースの静的メソッドを呼び出しているときにこのエラーが発生し、そのエラーを検索しましたが、解決するための関連する解決策が見つかりません

モデル:

コントローラ:

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

c# - MongoDBのシリアル化中にクラスを無視するには?

私のモデルには、次の 2 つのクラスがあります。

私のアプリでは、B を A としてインスタンス化し、オブジェクトが B タイプの場合は PropertyB を使用する必要があります。Into Db にはこれは必要ありません。とにかく、A のメンバーを格納するだけで済みます。B のプロパティを無視するように設定した場合、実際の型は宣言された型とは異なり、それを保存したくないため、ドライバーはディスクリミネーター _t を追加します。シリアル化から B クラスを無視するように MongoDb のドライバーで言う方法はありますか?

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

doctrine-orm - ZF2 と Doctrine を使用してエンティティ内から識別子列の値を決定する方法

Doctrine の preflush 機能を使用して、他の要素の値に基づいてフォーム要素の値を自動的に設定したいと考えています。私の ZF2 エンティティの preflush ステートメントは次のようになります。

私の課題は、getEventType()eventType が継承マッピングの識別子列であるため、getter がないことです。エンティティ内のプレフラッシュ関数は、エンティティ内から識別子の値をどのように評価できますか?

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

hibernate - Hibernate は、InheritanceType.JOINED を使用したクエリで識別子を使用しません

次のエンティティがあります。

hibernate がクエリで識別子の値を使用しないという問題。

「左ジョーター結合」セクションで、休止状態で識別子の値を使用するべきではありませんか? 何かのようなもの:

これにより、パフォーマンスが向上すると思います。

ありがとう、テキン。

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

java - JPA/Hibernate/Bean Validator - @Pattern on Discriminator?

そのため、Bean Validation を使用して、特定のエンティティの DiscriminatorValue が選択された少数の 1 つにすぎないことを確認しようとしています。

ディスクリミネーターが通常のフィールドである場合@Pattern、一致する正規表現を使用するのは簡単な作業でした。

そうではないので、どうすればいいですか?

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

mysql - EntityManager で更新中にエンティティの継承エラーが発生する

エンティティ継承階層ウィッチ @DiscriminatorColumn を使用すると、MySQL ENUM に DiscriminatorType.STRING 値が格納されます。以下のコード例:

および継承されたエンティティ:

Firm オブジェクトを作成するか、すべてを削除すると、EntityManager で見つかった場合でも問題なく動作しますが、EnitManager.refresh(firm) を作成すると、次のようなエラーが発生します。

アップデート:

@DescriminatorColumn のこの columnDefinition を削除して文字列「firm」、「user」を保存することで変更すると、エラーも発生します。

更新 2:

Firm が UserAccount を拡張するので、この識別子列account_typeはuser_accountテーブルにあるべきであるというちょっとした提案があります。user_account.account_type でこの列を検索するため、エラーfirm0.account_typeはばかげているようです! 私は別のサブクラスPersonを持っていて、それは持続し、OK を保存しますが、Firmは持続し、削除しますが、リフレッシュしないでください!

生成された列: user_account

更新 3:

次のような sql ログが見つかりました。

0 投票する
3 に答える
403 参照

oracle - Oracle を使用した EF6 TPH

最初に EF6 コードを使用して既存の Oracle データベースをマップし、階層ごとのテーブルを作成しようとすると、現在いくつかの問題が発生しています。マップしたいテーブルのスクリプトは次のようになります。

これは、データベース接続情報を含む Oracle サーバー上のテーブルであり、すべての Oracle データベース情報には CN_PROVIDER = 0 が含まれていますが、SQL データベース情報には CN_PROVIDER = 1 が含まれています。

したがって、この階層を次のようにマッピングするのは自然なことでした

ただし、データにアクセスしようとすると、常に次のエラーが発生します。

私はすでにこれを使用してマップしようとしました:

そして、私は機知に富んでいます-次の場合に誰かが知っていますか? 2-何か足りない?

今は先に進みます (そして、リポジトリ レイヤーでファクトリを使用して階層を実装します) が、提案されたソリューションを試してみるつもりです - 事前に感謝します!