問題タブ [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.
node.js - Mongoose Discriminator のスキーマ フィールドを削除する
フィールドとメソッドを BaseSchema に追加する 2 つの識別子を持つ BaseSchema があります。
次に、BaseSchema からいくつかのフィールドを削除する 3 番目の識別子を追加したいと思いますか? それは可能ですか?
それ以外の場合は、LightSchema を定義し、現在の BaseSchema のディスクリミネーターを作成してから、他の 2 つのディスクリミネーターをアタッチする必要があります。これが最善の方法ですか?
前もって感謝します
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 ではないため、結果には追加されません。
どんな助けでも大歓迎です。
java - 埋め込まれた @ElementCollection テーブルの識別子を追加します
埋め込みコレクションの識別子を追加する方法はありますか? これが私が持っているものです
現在、両方のフィールドの EncounterData インスタンスには、タイプに依存せず、encounter_data_info テーブルからのすべての値があります。では、識別子の値が機能していないようですか?なぜ、どうすればそれを機能させることができますか?
java - 2 つの DiscriminatorColumn を持つ JPA エンティティの継承
あなたの助けが必要です。
JPAマップで必要な値の次の表があります。
次のクラス構造を検討しました。
クラス "NotificationCustomShippingPlan" および "PreviewCustomShippingPlan" は、全員に DiscriminatorColumn "Type" の DiscriminatorValue を取得します。
ただし、クラス「ActivResultCustomShippingPlan」および「ActivResultCustomShippingPlan」は、別の DiscriminatorColumn「SubType」を取得する必要があります。
どのようにすれば、どのマップを表示できますか?
私の気持ちは、それは不可能だと教えてくれました。
編集:
php - サブクラスをその拡張された親としてマップする
次の抽象クラスを作成しました。これは、単一テーブルの継承を使用し、 DiscriminatorColumn でサブクラスをマップしますmodel
。
いくつかのクラスで抽象クラスを拡張するとしましょうAbstractEntity
:
そして、これらをいくつかのサブクラスで拡張します
たとえば、インスタンス化GreenEntityChildOne
してデータベースに永続化すると、マッピングがないという例外がスローされます。
私がやろうとしているのはGreenEntityChildOne
、GreenEntity
(または、下位のクラスを拡張するすべてのクラスAbstractEntity
が、上位の抽象クラスを拡張するクラスとしてマップされるように)マップされることです。
これはまったく可能ですか?
.net - Array 用の MongoDB カスタム識別子
MongoDB (.NET ドライバー 1.10) を使用して、弱い型指定されたフィールドを持つ C# クラスを格納しています。
デフォルトでは、Value に配列が含まれている場合、クラスは非常に長い識別子を持つドキュメントにシリアル化されます。
しかし、私は "SpecialValueClass[]" 識別子文字列 (またはそれより短い) だけを使用したいと考えています。
次のようにマッピングを構成しようとしました:
これは、配列型、ジェネリック リストには影響しません (ただし、ソリューションで定義された型に対しては機能します)。
配列タイプにカスタム識別子を使用するようにmongodbドライバーに指示するにはどうすればよいですか? 私は、ラッパー クラスもシリアライゼーション属性も使用しないことを好みます。または、私の構成がドライバーによって無視されるのはなぜですか?