0

1:n db リレーション、つまり Cars および CarParts テーブルからデータをインポートしたいと考えています。
テーブルに結合を書きたくないので
(車のIDと名前はクエリで乗算されるため、クエリでより高いスコアになります)
、dataconfigおよびスキーマxmlファイルで表現するための推奨される方法を探しています1:n接続。

4

1 に答える 1

0

この問題を解決するには、多値フィールドを使用できます。

dataconfig は次のようになります。

...
<entity name="Cars" query="select carId, carName from Cars">

   <entity name="CarParts" query="select carPartName from CarParts 
                                    where carId = '${Cars.CarId}'">

  </entity>

</entity>
...

スキーマ ファイルで、フィールド「carPartName」を多値としてマークします。

<field name="carPartName" type="string" indexed="true" stored="true" multiValued="true" />

1:n の関係は、ドキュメントが「車」ごとに作成される場合、対応する「カーパーツ」(複数の場合もある) も同じドキュメントの一部になるように処理されるようになりました。

于 2013-06-19T03:25:33.147 に答える