問題タブ [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 に答える
340 参照

node.js - Mongoose Discriminator のスキーマ フィールドを削除する

フィールドとメソッドを BaseSchema に追加する 2 つの識別子を持つ BaseSchema があります。

次に、BaseSchema からいくつかのフィールドを削除する 3 番目の識別子を追加したいと思いますか? それは可能ですか?

それ以外の場合は、LightSchema を定義し、現在の BaseSchema のディスクリミネーターを作成してから、他の 2 つのディスクリミネーターをアタッチする必要があります。これが最善の方法ですか?

前もって感謝します

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

mapping - MyBatis - 一部のレコードが結果にない

次のような結果マップがあります。

そして、 4行を返すクエリがあります:

しかし、結果のリストには3 つの項目しかありません。

いくつかのデバッグの後、4行のうち2行がテール値を除いてすべて同じデータを持っているために(おそらく)発生することに気付きました:

(メソッド org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForNestedResultMap(ResultSetWrapper, ResultMap, ResultHandler, RowBounds, ResultMapping))

private void handleRowValuesForNestedResultMap(ResultSetWrapper rsw, ResultMap resultMap, ResultHandler resultHandler, RowBounds rowBounds, ResultMapping parentMapping) throws SQLException { final DefaultResultContext resultContext = new DefaultResultContext(); skipRows(rsw.getResultSet(), rowBounds); Object rowValue = null; while (shouldProcessMoreRows(resultContext, rowBounds) && rsw.getResultSet().next()) { final ResultMap discriminatedResultMap = resolveDiscriminatedResultMap(rsw.getResultSet(), resultMap, null); final CacheKey rowKey = createRowKey(discriminatedResultMap, rsw, null); Object partialObject = nestedResultObjects.get(rowKey); // issue #577 && #542 if (mappedStatement.isResultOrdered()) { if (partialObject == null && rowValue != null) { nestedResultObjects.clear(); storeObject(resultHandler, resultContext, rowValue, parentMapping, rsw.getResultSet()); } rowValue = getRowValue(rsw, discriminatedResultMap, rowKey, rowKey, null, partialObject); } else { rowValue = getRowValue(rsw, discriminatedResultMap, rowKey, rowKey, null, partialObject); if (partialObject == null) { storeObject(resultHandler, resultContext, rowValue, parentMapping, rsw.getResultSet()); } } } if (rowValue != null && mappedStatement.isResultOrdered() && shouldProcessMoreRows(resultContext, rowBounds)) { storeObject(resultHandler, resultContext, rowValue, parentMapping, rsw.getResultSet()); } }

上記の太字のテキストに注意してください。2 回目の反復では、適切なrowValueが作成されますが、 partialObjectが null ではないため、結果には追加されません。

どんな助けでも大歓迎です。

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

java - 埋め込まれた @ElementCollection テーブルの識別子を追加します

埋め込みコレクションの識別子を追加する方法はありますか? これが私が持っているものです

現在、両方のフィールドの EncounterData インスタンスには、タイプに依存せず、encounter_data_info テーブルからのすべての値があります。では、識別子の値が機能していないようですか?なぜ、どうすればそれを機能させることができますか?

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

java - 2 つの DiscriminatorColumn を持つ JPA エンティティの継承

あなたの助けが必要です。

JPAマップで必要な値の次の表があります。

マップするテーブル

次のクラス構造を検討しました。

ここに画像の説明を入力

クラス "NotificationCustomShippingPlan" および "PreviewCustomShippingPlan" は、全員に DiscriminatorColumn "Type" の DiscriminatorValue を取得します。

ただし、クラス「ActivResultCustomShippingPlan」および「ActivResultCustomShippingPlan」は、別の DiscriminatorColumn「SubType」を取得する必要があります。

どのようにすれば、どのマップを表示できますか?

私の気持ちは、それは不可能だと教えてくれました。

編集:

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

php - サブクラスをその拡張された親としてマップする

次の抽象クラスを作成しました。これは、単一テーブルの継承を使用し、 DiscriminatorColumn でサブクラスをマップしますmodel

いくつかのクラスで抽象クラスを拡張するとしましょうAbstractEntity:

そして、これらをいくつかのサブクラスで拡張します

たとえば、インスタンス化GreenEntityChildOneしてデータベースに永続化すると、マッピングがないという例外がスローされます。

私がやろうとしているのはGreenEntityChildOneGreenEntity(または、下位のクラスを拡張するすべてのクラスAbstractEntityが、上位の抽象クラスを拡張するクラスとしてマップされるように)マップされることです。

これはまったく可能ですか?

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

.net - Array 用の MongoDB カスタム識別子

MongoDB (.NET ドライバー 1.10) を使用して、弱い型指定されたフィールドを持つ C# クラスを格納しています。

デフォルトでは、Value に配列が含まれている場合、クラスは非常に長い識別子を持つドキュメントにシリアル化されます。

しかし、私は "SpecialValueClass[]" 識別子文字列 (またはそれより短い) だけを使用したいと考えています。

次のようにマッピングを構成しようとしました:

これは、配列型、ジェネリック リストには影響しません (ただし、ソリューションで定義された型に対しては機能します)。

配列タイプにカスタム識別子を使用するようにmongodbドライバーに指示するにはどうすればよいですか? 私は、ラッパー クラスもシリアライゼーション属性も使用しないことを好みます。または、私の構成がドライバーによって無視されるのはなぜですか?