【问题标题】:JPA validation: String in column should be accepted by java.net.URI constructorJPA 验证:列中的字符串应被 java.net.URI 构造函数接受
【发布时间】:2014-08-25 11:43:11
【问题描述】:

我正在使用 JPA 在数据库中创建结构。我的任务是定义具有以下属性的列:

  • 被 java.net.URI 构造函数接受
  • 以“/”(斜杠)结尾

有人知道怎么做吗?

问候, 帕特里克

【问题讨论】:

  • 展示你所做的会很好。其次,您是否检查了验证 api @Pattern?并在 google 上搜索 uri 正则表达式模式?
  • 您的意思是您希望数据存储中的列是 VARCHAR 或 CHAR?问题是? JPA 用于保存类的字段值。如果你将 URL/URI 作为一个字段,那么任何半体面的 JPA 实现都应该能够持久化并检索它

标签: java validation jpa


【解决方案1】:

使用 JSR 303(Bean 验证)。在字段/getter 上使用 @Pattern 注释并指定您的模式。 http://docs.oracle.com/javaee/6/tutorial/doc/gircz.html

什么是 Bean 验证? Bean Validation (JSR 303) 是一个 Java EE 规范,它: 提供了一种在对象模型上声明和定义约束的统一方式。 定义一个运行时引擎来验证对象 Bean Validation 包括与其他 Java EE 规范的集成,例如 JPA。 Bean Validation 约束会在数据持久化到数据库之前自动应用,作为防止不良数据的最后一道防线。

http://www.jboss.org/ticket-monster/DataPersistence/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 2011-01-03
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多