我正在尝试使用我的存储库界面,如下所示。
interface SomeRepository extends JpaRepository<Some, Long> {
@org.springframework.lang.Nullable
Some findByKey(
@org.springframework.lang.NonNull
@javax.validation.constraint.NotNull
final String key);
}
而且我发现这些约束没有按预期工作。
@Test
void findByKeyWithNullKey() {
repository.findByKey(null);
}
测试用例简单地通过了。
我怎样才能让它发挥作用?
最佳答案
根据 Spring JPA document :
要为查询方法启用可空性约束的运行时检查,您需要使用 Spring 的 @NonNullApi
在包级别激活不可空性。
您可以简单地通过创建 package-info.java
文件并在文件中添加它相关的包声明来添加包注释。然后像这样将此注释添加到您的包中:
@org.springframework.lang.NonNullApi
package com.example;
关于spring - 如何使用 spring 存储库进行 bean 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52362421/