我在考虑验证我的web应用程序。这是接近。 1)使用Spring Validator实现接口进行验证 2)在域模型上使用JSR-303。验证在哪里组织在web应用程序中更高效的方式
第一种方法看起来更好,就像我可以使用消息来渲染任何语言的错误,并且可以执行更复杂的逻辑。但hibernate文档显示,对于hibernate,JSR-303更可取,我想我已经用注解映射识别了我的实体,并且为验证JSR 303而放置了更多它不会太多?如果可能的话,也许我应该这样做。
你的建议是什么?谢谢
我在考虑验证我的web应用程序。这是接近。 1)使用Spring Validator实现接口进行验证 2)在域模型上使用JSR-303。验证在哪里组织在web应用程序中更高效的方式
第一种方法看起来更好,就像我可以使用消息来渲染任何语言的错误,并且可以执行更复杂的逻辑。但hibernate文档显示,对于hibernate,JSR-303更可取,我想我已经用注解映射识别了我的实体,并且为验证JSR 303而放置了更多它不会太多?如果可能的话,也许我应该这样做。
你的建议是什么?谢谢
就我个人而言,我认为web(或输入)验证与持久性验证非常不同。通常他们会是一样的,但往往他们不会,除非你的应用程序只接收数据并放入一个数据库,除了验证之外不做任何事情。
如果您将持久性和输入验证混合在一起,那么您的域模型将受到影响,因为您将尝试将其混合呈现+域模型,并且其中一个的更改会影响另一个(再见,再见局部)。
在一个非常简单的应用程序中混合验证可能没问题,或者如果您正在构建“裸体对象”解决方案(在这种情况下,输入必须是域)。
是的。问题是我之前我使用模型数据验证时,我没有创建我的模型数据架构的SQL脚本和使用弹簧验证作为验证我的应用程序的输入,消息等。现在我决定我想通过休眠创建我的架构启动。 –
从hibernate创建模式通常也是一个坏主意,原因如下:1)您仍然需要更新脚本(不要让hibernate升级数据库模式!)。 2)通常,数据库提供了更大的灵活性来创建模式,例如,您可以创建不同类型的索引,或者将数据存储在数据库的不同分区中,等等。正如我之前提到的,如果您正在构建的应用程序很小并且不适合用于生产,那么这很好。 – Augusto
谢谢。我也在想这个。 –
为什么不同时使用?据我所知,一个与另一个完好无损。 –