gpt4 book ai didi

java - 模拟@UpdateTimestamp Hibernate 注释

转载 作者:行者123 更新时间:2023-12-05 06:22:20 24 4
gpt4 key购买 nike

我有一个具有 updated_time 列的实体。该实体使用 @UpdateTimestamp hibernate 注释来自动处理更新。在我的测试中,我需要使用 7 天前的 update_time 值来播种一些旧数据。

是否可以在不模拟 System.currentTimeMillis() 的情况下模拟 @UpdateTimestamp 以返回特定日期?

注意:我使用的测试框架是用于模拟的 JUnit 和 Mockito。

最佳答案

我会感到惊讶,如果有 mockito 注释,那实际上不是它的范围。您可以使用 Hibernate post load interceptor在测试中更新您的数据。

但是如果你想获得更多的可靠性,你可以 use dbunit并在每次测试之前创建适当的数据库设置,因此无需通过 hibernate 进行操作。

为此目的,可以采用内存数据库,并为每个测试从头开始创建测试数据,这样您就不会依赖于您操作的某些现有数据设置。我认为 H2 很受欢迎。

关于java - 模拟@UpdateTimestamp Hibernate 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59303680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com