此错误发生在This.ItemRepository.DeleteAll()
,当SampleTest()
方法运行时。
@ExtendWith(SpringExtension.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@SpringBootTest
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Rollback(false)
public class ScheduleTests {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleTests.class);
@Autowired
private ScheduleRepository scheduleRepository;
@Autowired
private ItemRepository itemRepository;
@Autowired
private ItemQualifierRepository itemQualifierRepository;
@Autowired
private MappingRepository mappingRepository;
@BeforeAll
public void setUp() {
restoreInitialData();
LOGGER.info("Initial data restored");
}
@Test
public void sampleTest() {
File feed = new File("target/test-classes/TestFeedOK.json");
Feed.ingest(feed);
LOGGER.info("Feed {} ingested", feed.getName());
}
private void restoreInitialData() {
this.itemRepository.deleteAll();
this.mappingRepository.deleteByTableName("event");
}
}
向RestoreInitialData()
添加@transaction
注释不能解决问题-https://stackoverflow.com/a/32552558/3536552
你知道怎么修吗?
我认为问题在于RestoreInitialData
是从setup
调用的,这是一个@BeforeAll方法。Spring当时还没有介入创建事务。只需将其更改为@Beforeech,并使用@Transactional进行检查。如果你想让某件事只执行一次。尝试这种方法
private static boolean setUpIsDone = false;
.....
public void setUp() {
if (setUpIsDone) {
return;
}
// do the setup
setUpIsDone = true;
}
列出需要保存的数据。保存前必须删除现有数据并保存新数据。如果有任何删除 在这里,每次删除都会添加新事务 在删除时,它会引发异常“由以下原因引起:javax.persistence.TransactionRequiredException:没有具有实际事务的实体管理器可用于当前线程 - 无法可靠地处理'remove'调用” 我可以通过添加一个@ Transactional for public la
尝试使用EntityManager时出错 我使用Spring(不是boot)、jpa和hibernate 有人能帮我吗? 实体课程 Spring配置类 在我得到的地方测试“刀” 使用find complete for error命令行 和我的主班 哦,我的朋友。xml 我在类和方法上使用了@Transactional,结果没有改变 请帮帮我,我已经做了所有的选择。
问题内容: 当尝试调用“ persist”方法将实体模型保存到Spring MVC Web应用程序中的数据库时,出现此错误。在Internet上找不到与该特定错误相关的任何帖子或页面。似乎似乎EntityManagerFactory bean出了点问题,但是我对Spring编程还是比较陌生,所以对我来说,似乎一切都已初始化好,并且根据Web上的各种教程文章。 dispatcher-servlet.
在SpringMVCWeb应用程序中,试图调用“persist”方法将实体模型保存到数据库时,我遇到了这个错误。在internet上找不到任何与此特定错误相关的帖子或页面。看起来EntityManagerFactoryBean有点问题,但我对Spring编程相当陌生,所以对我来说,根据web上的各种教程文章,似乎一切都初始化得很好。 调度器servlet。xml 注册控制器。JAVA
我想发出POST请求以将用户保存到我的Oracle DB中。 我在jpa和hibernate中使用Spring MVC。 这是我的jpaContext.xml 这是我的UserRepoImpl类: 这是UserServiceImpl类: 这是来自REST控制器的方法: 我在服务图层上有注释。我尝试了许多在线找到的解决方案,使用存储库层上的@Transactional,或者使用@Scope(prox
在Ignite缓存中的事务性方法中,我们使用多线程方法。