Jag upptäckte att det inte är möjligt att lägga till en ny private final
till en befintlig samling med endast @PersistenceContstructor
anteckning. Istället behövde jag lägga till en org.springframework.core.convert.converter.Converter
implementering för att hantera logiken åt mig.
Så här såg min omvandlare ut:
@ReadingConverter
public class SnapshotReadingConverter implements Converter<DBObject, Snapshot> {
@Override
public Snapshot convert(DBObject source) {
long id = (Long) source.get("_id");
String description = (String) source.get("description");
boolean active = (Boolean) source.get("active");
boolean billable = false;
if (source.get("billable") != null) {
billable = (Boolean) source.get("billable");
}
return new Snapshot(id, description, active, billable);
}
}
Jag hoppas att detta kan hjälpa någon annan i framtiden.