- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了以下实体并使用 h2 对其进行了测试:
@Getter
public class Topic {
@Id
private long id;
private final Title title;
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime lastModified;
// ...
}
TopicRepository
是一个空接口(interface)。
以下测试失败,并出现 createdAt
为 null 的错误:
@RunWith(SpringRunner.class)
@SpringBootTest
public class BasicRepositoryTests {
@Autowired
TopicRepository topicRepository;
@Test
public void topicRepositoryWorks() {
val topic = new Topic();
val savedTopic = topicRepository.save(topic);
assertEquals(1, topicRepository.count());
assertNotNull(savedTopic.getLastModified(), "lastModified must be set");
assertNotNull(savedTopic.getCreatedAt(), "createdAt must be set");
topicRepository.delete(savedTopic);
assertEquals(0, topicRepository.count());
}
}
我的应用程序使用 @SpringBootApplication
和 @EnableJdbcAuditing
进行注释。
为什么createdAt
仍然是null
,而lastModified
却不是null?
我将 Topic.createdAt
和 Topic.lastModified
的类型更改为 Instant
,但不起作用。
此外,我添加了以下方法,我猜它应该为 Instant
字段提供值:
@Bean
public AuditorAware<Instant> instantAuditorAware() {
return () -> Optional.of(Instant.now());
}
遗憾的是,尽管该方法被调用,createdAt
仍然是 null
。
最佳答案
仅考虑聚合根的审核注释。如果需要对属于聚合但不是聚合根的实体进行审核信息,可以通过在聚合根中实现它来完成,聚合根应该管理对其和聚合实体的所有更改。
虽然问题中发布的源代码表明您实际上正在查看聚合根,但您通过 Github 提供的代码显示根上的注释工作正常,但非根实体上的注释则不然,如上所述。
您不需要 AuditorAware
bean。仅 @CreatedBy
和 @LastModifiedBy
需要此值。
关于java - Insert 上没有写@CreatedDate 注释的字段,@LastModifiedDate 是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56542700/
似乎下面的代码应该返回 true,但它返回 false。 这有什么意义?对吗? 我也在 Chrome 和 Firefox 上测试过它。两者都返回 false。 测试代码 console.log(fil
这有点奇怪,但是当在我的实体上使用 @LastModifiedDate 注释时,它会在保存新对象时触发额外的更新。 如果我设置@EnableJpaAuditing(modifyOnCreate = f
我有这些字段的类(class): private String statusMessage; @Column(name = "last_updated") @LastModif
人。我正在考虑避免 Spring 更新丢失的最简单方法。在 @Transactional 方法中,我正在更新持久对象。为了避免丢失更新的可能性,@LastModifiedDate 和 @Version
我正在使用基于注释的配置。 @Configuration @Profile("default") @ComponentScan(basePackages = "com.*") @EnableMongo
我正在尝试使用 @LastModifiedDate 和 @LastModifiedBy 注释来审核 MongoDB 中的记录。 这是我的模型 @Document(collection = "A
我正在将我的应用程序与 EventKit 集成,并监听 EKEventStoreChangedNotifications。当有人进来时,我想看看自上次更新以来哪些提醒发生了某种变化。我曾希望我可以使用
On the following page他们提到了lastModified和lastModifiedDate。 lastModifiedDate 对我来说适用于每个浏览器(FF、Chrome、IE、
我的 Blob 存储中有 30000 个图像,我想按修改日期的降序获取图像。有什么方法可以每次调用以 1000 张图像为单位获取它吗? 这是我的代码,但这需要太多时间。基本上我可以按 LastUpda
我正在使用 Spring Boot + JPA 编写一个应用程序,使用 Postgres 数据库。我有一个用户实体,我试图在保存和/或修改用户记录时获取时间戳。这是行不通的。正在保存的记录的creat
我正在使用phonegap 制作一个iOS 应用程序,需要lastModified 日期进行处理。使用该函数时,它返回设备日期(当前/今天的日期) 我使用的代码供您引用 function h
我有一个名为 User 的实体。该实体包含多个字段,其中之一是 lastModifiedDate : @LastModifiedDate @Column(name = "last_modified_d
我创建了以下实体并使用 h2 对其进行了测试: @Getter public class Topic { @Id private long id; private final
我已将旧的 Spring Boot 1.5.3 项目更新为 Spring Boot 2.0.0。发布。我有一个审核实体,其中有两个 ZonedDateTime 类型的字段,并用 @CreatedBy
我有以下方法: public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInst
我有以下 Spring Boot 示例应用程序。疯狂的是,如果我在 SampleApplication bean 上添加 @EnableMongoAuditing 注释,lastModifiedDat
使用复制事件,我只需要获取文件夹中的最新文件。 示例:文件夹 文件1 文件2其中 File2 是最新的。 但是,它正在获取两个文件。 我关注了: https://learn.microsoft.com
使用复制事件,我只需要获取文件夹中的最新文件。 示例:文件夹 文件1 文件2其中 File2 是最新的。 但是,它正在获取两个文件。 我关注了: https://learn.microsoft.com
这是我的具有审计字段的实体的基类。对于@CreatedDate、@LastModifiedDate 字段,默认情况下它正在节省我的系统时间。我的要求是以 UTC 格式保存时间戳。 有没有人能解决这个问
这是我的具有审计字段的实体的基类。对于@CreatedDate、@LastModifiedDate 字段,默认情况下它正在节省我的系统时间。我的要求是以 UTC 格式保存时间戳。 有没有人能解决这个问
我是一名优秀的程序员,十分优秀!