当前位置: 首页 > 知识库问答 >
问题:

Hibernate验证--与其他对象进行比较

公良鸿光
2023-03-14

请原谅我在这里缺乏理解,因为我已经进入了三天的冬眠期。

我正在尝试在一个实体上添加验证,这需要将它们与另一个实体进行比较。

例如,以一个人为例。一个人可以有许多身体部位,但最多有两个手臂类型的身体部位(变异除外)。为了验证这一点,在插入新的车身部件时,我需要将其与给定人员的其他车身部件进行比较,并验证该类型的最大值是否已经达到。

我一直在研究Hibernate提供的约束/验证内容,但似乎没有一个涵盖这种场景。这是通常的做法吗?是否有更好/不同的解决方案?这真的是非标准需求吗?

共有2个答案

呼延智明
2023-03-14

您可以尝试一个数组,将第一个条目设置为“arm”(即数组[0]),并使用循环检查它,确保它不超过值2,legs tail(1)和您想要的任何其他值。

薄高懿
2023-03-14

Hibernate验证和JSR 303通常不包括afaik中的此类场景。引入它们是为了为约束(如@NotNull、@Min等)提供简单快速的验证。您必须编写一些自定义的验证器类。

就我个人而言,我不太使用JSR 303,因为您迟早会遇到这样的要求,最终会得到分散在许多地方的验证代码。我更喜欢将我的验证放在一个包中,并与域模型完全解耦。

 类似资料:
  • 我创建了一个,当调用变量为ISE时,它会读取相关数据的表。但是,如果我尝试将与另一个对象进行比较,无法正确读取。我想告诉脚本,如果现有CSV中的任何行与匹配,则不会将数据导出到CSV,换句话说,跳过CSV文件中的重复行。CSV可能有也可能没有多行。

  • 我研究了各种输入验证框架,包括用于JSR303 bean验证的Hibernate Validator impl,以及ESAPI Validator接口及其DefaultValidator实现。 ESAPI输入验证围绕通过ESAPI.properties文件进行的regex模式匹配。 ESAPI路由: esapi.properties: Java班: Hibernate验证器/spring MVC路

  • 问题内容: 我想知道是否存在以下有效用例: 接受类型为where 的集合似乎是一种常见的模式(请参见Collections中的许多示例)。 但是,与基类进行比较时,在技术上似乎无法履行合同,因为无法确保另一类不会通过矛盾的比较来扩展基数。考虑以下示例: 我们有两个类,它们使用不遵循共同规则的比较进行扩展(如果存在共同规则,则几乎可以肯定在中实现)。但是,下面的破碎类将被编译: 只接受不安全吗?还是

  • 首先要明确一点的是,没有最好,只有最合适。前端框架并不是所谓 注:本文一些数据收集时间为16-12-31 因为大部分教程都是付费的,所以教程数量的多少在侧面反映了框架的市场需求,如果框架冷门用的人不多,那必然不会有人去为其开发教程。

  • 从功能上看,servlet 位于Common Gateway Interface(公共网关接口,简称 CGI)程序和私有的服务器扩展如 Netscape Server API(NSAPI)或 Apache Modules 这两者之间。 相对于其他服务器扩展机制 Servlet 有如下优势: 它们通常比 CGI 脚本更快,因为采用不同的处理模型。 它们采用标准的 API 从而支持更多的Web 服务器

  • 我现在把这两者搞混了。我知道Hibernate Validator6是Bean验证2.0规范的参考实现。它支持分组、错误消息国际化、自定义方法验证等。问题是Spring5支持这些特性还是我只剩下Hibernate Validator6了? 网上所有的参考例子都建议使用Hibernate验证器,没有什么关于Spring验证的发现,请建议或指向其他链接。