java - 验证实体而不保存它

标签 java hibernate jpa

我有实体

@Entity
public class MyEntity {
    @Column(name = "field", nullable = false, length = 10)
    private String field;
}

如何在不保存的情况下验证 field 不再是 10 个字符?

最佳答案

使用bean validation :

@Entity
public class MyEntity {

    @Size(max = 10)
    @Column(name = "field", nullable = false, length = 10)
    private String field;
}

或者也可以使用 hibernate 特定的注释@Length(max = 10)

然后,您可以使用 validator 验证实体对象:

public class DemoApplication {

    public static void main(String[] args) {

        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();

        MyEntity myEntity = new MyEntity();
        Set<ConstraintViolation<MyEntity>> constraintViolations = validator.validate(myEntity));
    }
}

关于java - 验证实体而不保存它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253593/

相关文章:

java - 在 Lucene 中对词级注释层进行索引和搜索

java - MongoDB 身份验证和 Apache Camel 的问题

java - 交易不活跃 - hibernate - JPA

mysql - Hibernate 属性使连接保持事件状态

java - 如何从 Hibernate session 中分离所有对象

jakarta-ee - EclipseLink 返回主键为空的实体

java - 如何使用 JPQL 获取 blob 字段的长度?

java - 芬奇机器人。 java

java - 如何知道 HttpURLConnection 是否确实在底层套接字上发送了请求?

json - 使用 withCriteria 时限制数据范围