栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

junit测试中的spring-data-jpa bean验证

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

junit测试中的spring-data-jpa bean验证

我设法在本地重现了该问题中确切描述的问题,尽管在将丢失的get / set函数和

UserRepository
该类添加回去之后:

经过一番挖掘后,我发现[与Bean ValidationAPI结合使用时,两个现存的问题JPAConstraintViolation vsRollback和Hibernate没有遵循JPA规范?

两者似乎都得出结论:Hibernate没有

ConstraintValidationException
正确抛出。

第二个问题的结果是一个缺陷HHH-8028-EntityManager.persist没有引发针对Hibernate的ConstraintValidationException。

为了确认这是相同的问题,我切换到简单

@GeneratedValue
insertWrongEmail
通过了。
insertToShortPassword
仍然失败,但我
@Size(min=6)
在密码字段中将其归结为丢失。添加之后,所有测试均通过。

回到您的配置

@GeneratedValue
,然后将Hibernate换成Eclipselink持久性框架。两项测试均通过,这似乎可以证实先前问题的发现。我所做的更改是:

pom.xml的
更改添加了Eclipselink网站上描述的jpa工件

<dependency>   <groupId>org.eclipse.persistence</groupId>   <artifactId>org.eclipse.persistence.jpa</artifactId>   <version>2.4.0</version>   <scope>compile</scope></dependency>

test-context.xml 更改

切换到

EclipselinkJpaVendorAdapter

<bean id="jpaAdapter"     p:generateDdl="true" p:database="HSQL" />

添加

eclipselink.weaving
属性,如EclipselinkJpaVendorAdapter所述,而不是HibernateJpaVendorAdapter问题

<bean id="entityManagerFactory"     p:dataSource-ref="dataSource" p:jpaVendorAdapter-ref="jpaAdapter" >    <!-- existing configuration is identical -->    <property name="jpaPropertyMap">      <map>        <entry key="eclipselink.weaving" value="false"/>      </map>    </property></bean>

User.java 更改

我需要添加一个默认的无参数构造函数。您可能已经在

User.java
全班学习了。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406144.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号