2017-11-20 3 views
0

Couchbase와 같은 문서 DB의 장점 중 하나는 스키마가없는 엔터티입니다. 스키마 변경없이 문서 내에서 새로운 속성을 추가 할 수 있습니다.Couchbase 문서 용 스프링 데이터의 일반 엔터티

Couchbase JsonObject와 JsonDocument를 사용하면 새로운 속성이 문서에 추가 될 때마다 CRUD 작업을 수정하지 않아도 코드를 수정할 수 있습니다. 엔티티가 생성되지 않은 곳의 this example을 참조하십시오.

그러나 엔터티 클래스를 만드는 일반적인 스프링 데이터 방식을 따르는 경우이 유연성을 최대한 활용하지 못합니다. 내 문서에 새 속성을 추가 할 때마다 코드가 변경 될 것입니다.

스프링 데이터를 사용하는 일반 엔티티를 사용하는 방법이 있습니까? 또는 스프링 데이터는 스키마가없는 DB에 실제로 적합하지 않습니까? 또는 내 이해가 잘못 되었습니까?

답변

0

나는 반대가 사실이라고 주장 할 것이다.

새 필드를 도입하면 기존 필드를 갖지 않은 기존 데이터를 처리해야합니다.

해당 필드를 포함하도록 모든 문서를 업데이트하십시오. 그것이 스키마 기반 저장소가 기본적으로하는 일입니다.

또는 상점을 그대로두고 응용 프로그램에서 문제를 처리하게하십시오. Spring Data를 사용하면 일관된 방식으로이를 처리 할 수있는 좋은 방법과 확실한 방법이 있습니다. 엔티티에 디폴트 값을 가지거나 청취자에서 그것을 처리함으로써.

관련 문제