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

将实体保存在资源库中不起作用SPRING

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

将实体保存在资源库中不起作用SPRING

对于初学者,您实际上

EntityManager
在不工作的测试用例中使用两种不同的方法:

  1. EntityManager
    通过Spring自动连接到您的测试中(这是单例,无论如何都应避免使用),其他是
  2. EntityManager
    EntityManagerFactory
    您的ApplicationConfiguration中的配置创建。

同时,

EntityManagers
由于Hibernate的配置,您还将在上述2旁边运行另一个Session
SessionFactory
。另外,由于配置了
HibernateTransactionManager
,所有由创建的事务
@Transactional
都绑定到由存储库创建
SessionFactory
EntityManager
使用的Hibernate会话,因此肯定无法了解它。这就是为什么
TransactionRequiredException
在您的存储库尝试保留数据时引发的原因。

要解决此问题,
您可以考虑删除Hibernate

SessionFactory
,并将事务管理器切换为
JpaTransactionManager
。然后,
@Transactional
在您的存储库上将具有创建新事务并将其绑定
EntityManager
到Spring已知的现有事务的作用。

值得一提的是,

@Transactional
您的TestClass上的完全没有帮助,因为此类的实例没有由Spring实例化和管理。为了使这项工作有效,需要按如下所述提供正确的事务测试类配置:http :
//docs.spring.io/spring/docs/current/spring-framework-
reference/html/testing.html。

希望这可以帮助。



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

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

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