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 {
// ...
}
实际验证在哪里实施?如何扩展此功能以允许管理员覆盖?
虽然这里没有显示,但我已经将组用于此约束的另一个目的。
JSR303验证与JPA没有太多直接关系。当然,也可以用它来验证JPA实体。实际问题是什么——很可能你想遵循php-coder的建议,通过注释使用实现新的注释和约束集验证。
如果由于某种神秘的原因,您真的必须更改未来注释在实现中的处理方式,那么解决方案当然是特定于实现的。假设您使用Hibernate Validator 4.3,验证约束的实际检查发生在:
选择这些实现的方式会受到org.hibernate.validator.internal.metadata.core.ConstraintHelper
的影响。我建议将您使用的实现源附加到您的IDE,因为这样很容易导航到这种细节。
由hibernate validator提供的许多验证器的实现:http://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/validator-usingvalidator.html#validator-定义内置的约束
如果您使用Maven,只需将以下依赖项添加到pom.xml
文件:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.0.Alpha1</version>
</dependency>
如何扩展此功能以允许管理员覆盖?
最简单的方法是自己写。
问题内容: 我无法在任何地方找到append()或任何其他内置函数的实现代码?我尝试通过godoc查找代码,并使用IDE的跳转到定义功能。可能是我在看错地方。谁能告诉我看实际实施的方式吗? 问题答案: 您可能会感兴趣: 代码生成位在这里https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/ssa.go 和,由前者使
问题内容: 我正在使用来自包java.sql的接口连接 实际上,我虽然是一个Class,但是当我尝试查看源代码时却发现它是一个Interface。 在Connection接口的源代码中,每种方法只有一行,没有任何实现!! 是什么让这个界面正常工作? 要连接的数据库:MySql 连接源代码页:http : //www.docjar.com/html/api/java/sql/Connection.j
问题内容: 在和,只有抽象方法和分别。 有谁知道实现它们的实际代码在哪里? 我想知道如何与TCP堆栈通信。 此外,还有更多抽象功能,例如。他们的代码在哪里? 问题答案: 具有已实现该方法的实现。它使用扩展了实现方法的委托 大多数IDE可以跟踪所有类,对象和方法,并下载源文件。Fx。可以为您做到这一点。
我找不到那个方法。
问题内容: 该方法在哪里执行?该的.java类是创建一个合同的接口方法,但我不能找到源代码,显示它是如何工作的。有谁知道我怎么找到它?我了解dom.js,并且可以看到.java中的所有方法如何工作,但找不到我们所谓的源代码实现。 我认为,要真正了解工作原理,我需要了解基础方法的工作原理 。我不知道它最终如何调用中的 方法。 问题答案: 实现细节特定于驱动程序。 但是您可以在中找到此处的方法。所有方
我正在尝试运行基本的示例: 我得到的错误: Rust版本: 库版本: 有人知道这里出了什么问题吗?