我有一个使用Spring Data for Couchbase的springBoot 2.1.9.RELEASE应用程序
我有这个对象
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Hostel<T> {
@NotNull
@JsonProperty("_location")
private T location;
}
还有另外一个
@Document
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(of = { "id" })
@Builder
public class HTMDoc {
@Id
private String id;
@NotNull
@Field
private Hostel hostel;
}
在服务上
public HTMDoc create(@Valid HTMDoc doc) {
return repository.save(doc);
}
在测试中
service.create(new HTMDoc());
但是当我保存时,出现此错误,而不是旅馆字段中的验证NotNull
org.springframework.data.mapping.MappingException: An ID property is needed, but not found/could not be generated on this entity.
最佳答案
您需要在服务类上使用@org.springframework.validation.annotation.Validated
批注以启用验证。
@Validated
@Service
public class DocService {
public HTMDoc create(@Valid HTMDoc doc) {
return repository.save(doc);
}
}