2017-11-20 15 views
0

CouchbaseのようなドキュメントDBの利点の1つは、スキーマレスエンティティです。スキーマを変更することなくドキュメント内に新しい属性を追加することができます。CouchbaseドキュメントのSpringデータの汎用エンティティ

Couchbase JsonObjectとJsonDocumentを使用すると、新しい属性がドキュメントに追加されるたびにCRUD操作を行う必要がなくなります。エンティティが作成されていないthis exampleを参照してください。

しかし、エンティティクラスを作成する通常のSpring Dataアプローチに従えば、私はこの柔軟性をフルに活用しません。ドキュメントに新しい属性を追加するたびにコードが変更されます。

Springデータを使用する汎用エンティティを使用するアプローチはありますか?または、Springデータは、スキーマレスDBにはあまり適していませんか?または私の理解は間違っていますか?

答えて

0

私はその反対が正しいと主張します。

新しいフィールドを導入する場合は、そのフィールドを持たない既存のデータを処理する必要があります。

このフィールドを含むようにすべてのドキュメントを更新してください。それはスキーマベースのストアが基本的にあなたに強制するものです。

または、店舗をそのままにして、アプリケーションでその問題を処理できるようにします。 Springデータでは、一貫性のある方法でそれを処理するためのすばらしい、明らかな方法があります。エンティティにデフォルト値を持たせるか、リスナーでその値を処理します。

関連する問題