当前位置: 首页 > 面试题库 >

将Hibernate Validator与JPA和Spring结合使用

魏松
2023-03-14
问题内容

我正在使用Hibernate Validator 4.0.2,Spring 3.0和Hibernate
3.3.2(据我所知,是JPA2之前的版本)作为JPA 1提供程序。

我发现将Validator集成到MVC层很容易(这是可行的),但是看不到如何将验证器自动集成到JPA entityManager(JPA 1)中。

基本上,我有一些实体将保留下来,但它们不是来自Web层,因此尚未经过验证。我想要一种通过验证器预持久运行它们的巧妙方法。

有一个简单的方法吗?我知道,如果我使用的是JPA 2提供程序(如发布时的Hibernate 3.5),它将几乎是自动的。那就是我要找的东西。


问题答案:

您需要编写一个实体侦听器,并在上触发验证@PrePersist@PreUpdate甚至@PreRemove(有有效的用例)。有关
代码示例,请参见使用JPA 1.0进行Bean验证。



 类似资料:
  • 我正在开发一个Spring应用程序,并在一个存储库上定义各种查找方法: 问题是我有30列,可以选择对其进行筛选。这将导致存储库方法变得笨拙: JPA层应该如何设计以适应这种情况? 如果我创建一个具有属性的对象: 我可以将<code>SearchObject</code>传递到一个查找方法中,Spring JPA将根据哪些属性为空来确定要插入哪些属性和用于哪些属性的语句-如果属性不为空,则为该属性生

  • 当我使用Spring云网关时,我面临一个问题 如果有依赖项,则直接或递归地调用spring boot starter tomcat 它将无法工作,因为它将启动嵌入式tomcat服务器,而不是spring cloud gateway使用的netty服务器 我开始通过排除这种依赖性来解决这个问题 Spring云端网关工作成功 但有时我想使用spring-cloud-starter-oauth2来使用@

  • 我只是Spring Security的初学者,但我想知道是否可以使用,,和其他注释来配置KeyClope。例如,我在我的简单spring Rest webapp中配置了和Spring Security性,这样我就可以访问控制器中的主体对象,如下所示: 但是当我尝试这样做时(只是一个例子,实际上我想在授权之前执行自定义EL表达式): 我有例外: 组织。springframework。安全认证。Aut

  • 问题内容: 我们将Robotium与一起用于测试。虽然如此,我们想用Robotium代替Espresso,但是我们仍然有一些疑问,因为我们有一台装有Jenkins的CI机器。 Espresso使用的是Robotium ,而Robotium使用的是第一个,我们希望能够同时使用两个测试框架。可能吗?我们如何在文件中指定呢?我们如何配置我们的詹金斯机器,以针对不同的测试框架执行不同的任务? 我知道Esp

  • 问题内容: 我是Python的新手,并且开始自学使用PyQT4.7和Python 2.6进行GUI编程(希望如此) 我刚刚从PyQT网站下载了整个PyQT / QT4软件包(包括QTDesigner),但是看起来QTDesigner看起来像个新手,因为每个小部件都看起来很棒(因为您可以看到所有属性/属性/默认设置等)编辑属性很棒,但是PyQT似乎没有设置QTDesigner与PyQT和PyQTs

  • 试图在Spring Boot中使用liquibase mongodb扩展,但运行迁移对我的数据库没有影响。 在pom文件中添加了liquibase核心、liquibase mongodb扩展和ongo java驱动程序作为依赖项。 这是我的变更日志文件: 我尝试注入Bean SpringLiquibase,但它需要我提供一个DataSource,这是一个接口,而mongo的液化基础扩展不提供这个接