gpt4 book ai didi

java - 在 Dropwizard 应用程序中将自定义数据传递给 Hibernate Envers

转载 作者:行者123 更新时间:2023-11-30 02:48:45 25 4
gpt4 key购买 nike

我有一个使用 Hibernate 的项目,并且想使用 Envers 进行日志记录,但我需要进行更改的用户名。我有一个 Dropwizard 应用程序,并且正在使用 Hibernate envers 进行审核。

从文档中,我知道我应该实现 RevisionListener 并在 newRevision() 中设置用户名。但是,我无法将用户名传递给 CustomRevisionListener。我正在考虑实现 session ,但后来我开始认为 Hibernate session 应该与 dropwizard session 不同,并且我想在 hibernate session 中传递这些数据,因为我想使确保不同的用户名不会与其他人所做的修订混合在一起。

如果有任何意见,我将不胜感激。

谢谢。

最佳答案

您可能想阅读我的帖子 here

总体思路始终相同,您希望应用程序存储一个 ThreadLocal 变量,其中包含监听器所需的相关信息,然后访问该 ThreadLocal监听器回调中的变量。值得注意的是,不存在线程问题,因为所有 Envers 都发生在 hibernate session 本身的同一线程上下文中。

我的建议是让您的 ThreadLocal 变量成为您设置属性的顶级类,以便将来需要扩展它或跨实现重用它,您可以轻松地这样做。

关于java - 在 Dropwizard 应用程序中将自定义数据传递给 Hibernate Envers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39356295/

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