我希望能够从本质上反省我的所有实体都绑定到的模式的细节,并将其转发到应用程序层进行验证,这样我就不会将数据(从而浪费资源)提交给将最终被拒绝。
例如:
CREATE TABLE Foo(
ID BIGINT PRIMARY KEY,
Baz varchar(5) NOT NULL
);
@Entity
public class Foo {
@Id
public Long id;
public String baz;
}
@Repository
public interface FooRepository extends PagingAndSortingRepository<Foo, Long> {}
Foo f = new Foo();
f.id = 1;
f.baz = "123456";
@Autowired
FooRespository fooRepo;
fooRepo.save(f); // fails BEFORE going to DB with constrain violation.
我可以清楚地看到我可以自己实现这个,但我假设在伟大的世界的某个地方有一个 bean/validator 可以为我完成这项工作。