spring-data-mongodb
버전 1.0.2.RELEASE
을 사용하는 기존 문서 컬렉션이 있습니다.기존 spring-data-mongodb 문서 콜렉션에 최종 필드를 추가하는 방법은 무엇입니까?
@Document
public class Snapshot {
@Id
private final long id;
private final String description;
private final boolean active;
@PersistenceConstructor
public Snapshot(long id, String description, boolean active) {
this.id = id;
this.description = description;
this.active = active;
}
}
새로운 속성 private final boolean billable;
을 추가하려고합니다. 속성은 final
이므로 생성자에서 설정해야합니다. 생성자에 새 속성을 추가하면 응용 프로그램은 더 이상 기존 문서를 읽을 수 없습니다. 내가 수동으로 billable
필드를 포함하는 기존 문서를 업데이트하지 않는
org.springframework.data.mapping.model.MappingInstantiationException: Could not instantiate bean class [com.some.package.Snapshot]: Illegal arguments for constructor;
는 지금까지 내가 말할 수있는, 당신이
@PersistenceContstructor
로 선언 여러 생성자를 가질 수 없습니다 그래서, 나는이 기존 컬렉션에
final
속성을 추가 할 수있는 방법이 없습니다.
아무도 해결책을 찾지 못했습니까?