我有一个实体 XYZ.java
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class XYZ extends BaseEntity implements Serializable {
@NotNull (groups = {Groups.Insert.class, Groups.Delete.class, Groups.Update.class, Groups.Select.class})
private String X;
Run Code Online (Sandbox Code Playgroud)
并且有一个接口XYZCRUD.java可以进行CRUD操作XYZ.java
@Validated
public interface XYZCRUD {
public int insert(@Valid XYZ entity) throws SomeException;
Run Code Online (Sandbox Code Playgroud)
虽然javax的@Valid适用于@NotNull验证,但它不支持将验证组作为注释属性从我触发验证的方法中传递.所以我尝试使用@Validated注释,它允许通过像这样的属性"值"传递组
@Validated
public interface XYZCRUD {
public int insert(@Validated(value=SomeGroup.class) XYZ entity) throws SomeException;
Run Code Online (Sandbox Code Playgroud)
但是它根本不会触发验证.我在从字段中删除groups属性后尝试,也从触发器注释中删除.
结论: @Validated不会触发@NotNull
问题:
注意:如果它与此有关,我也使用lombok.
我们有一个用于Redis的集群配置用作缓存.现在由于写入master和从slave(与其他数据库)读取的正常模式,我们正在尝试使用Redis集群执行相同的操作.
经过一番调查后,我们发现redis,jedis和Spring Data Redis都没有支持Redis客户端(在java中).我们似乎找到了一些解决方法,但它似乎很难看,现在我在想它是否值得?
这是我的用例
考虑到这一点,我有以下问题:
非常感谢任何帮助(博客,案例研究,建议).