【发布时间】:2012-07-22 09:32:01
【问题描述】:
Java 持久性和休眠使向实体添加属性级约束变得容易。
@Entity
@Table(name = "party")
public class PartyEntity {
@Future
public DateTime start;
}
javax.validation.constraint.Future 注解是在没有具体实现的情况下定义的。
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
public @interface Future {
// ...
}
实际验证在哪里实施?如何扩展它以允许管理员覆盖?
虽然这里没有显示,但我已经在此约束上将组用于其他目的。
【问题讨论】:
-
这只是一个注释,你不会找到它的“实现”。如果您提到验证逻辑的实现,我相信那是在您正在使用的验证库(实现 JSR 303)中。我敢打赌这是休眠验证。我认为这是您可以开始调查的起点
标签: java hibernate annotations bean-validation