【发布时间】:2021-11-23 18:07:53
【问题描述】:
由于我们实施了实体审计,我们也能够使用 AuditorAware 存储 CreatedBy 以及 @lastmodifiedby。但这里的问题是,一旦我们再次更新记录,我们将尝试使用findbyId 获取更新的记录,但它给出@createdby 和@createddate 为空,@lastmoidified 日期也是 DB @987654329 中的一个不同示例@但在回复2021-10-02T12:30:29.596038100Z
即使我从下面列出的网络中获得了一些解决方案
- SaveAndFlush - 这会干扰@transactional 模型,因此我们不能使用它,
示例代码:
@GetMapping(value = "/saveandshow")
public Object GetsavedValue(@RequestParam("name") String name,@RequestParam("id") Long id ) {
//List<Account> list = accRepo.findAll();
Account acc_find = accRepo.getOne(Long.valueOf(id));
Account account = new Account();
account.setId(acc_find.getId());
account.setAccountname(name);
//account.setAge(name);
Account acc = accRepo.save(account);
Optional<Account> fetchAccount = accRepo.findById(acc.getId());
System.out.println("Accont "+fetchAccount);
return "Success";
}
我做错了什么吗..?
参考:https://github.com/vivekjava/Audit/blob/main/src/main/java/com/vivek/rest/AccountResource.java#L37
请提供您的想法或意见,非常感谢。
【问题讨论】:
-
你能提供你如何储蓄的样本吗?
finding?这可能是因为更改尚未刷新。 stackoverflow.com/help/minimal-reproducible-example -
那些“少数解决方案”在哪里?
-
我发现这个 (stackoverflow.com/questions/20382586/…) 作为替代解决方案,但我意识到保存和刷新可能会导致问题
-
请在问题中包含您的
Account实体声明。
标签: spring-boot auditing