hibernate - 如何在 Grails 3 中将属性传递给 Enver?
问题描述
我在我的 Grails 应用程序中使用 Hibernate Envers,并尝试设置该org.hibernate.envers.audit_strategy
属性。配置它的正确方法是什么?
我尝试将以下内容添加到application.yml
:
org.hibernate:
envers:
audit_strategy: 'org.hibernate.envers.strategy.ValidityAuditStrategy'
我对此尝试了几种变体,还尝试将其设置为application.groovy
,但我无法让 Envers 阅读它。
我宁愿将它包含在项目源中,而不是在命令行中设置它。
更新:
另一个不起作用的配置(application.yml
):
hibernate:
additionalProperties:
org.hibernate:
envers:
audit_strategy: 'org.hibernate.envers.strategy.ValidityAuditStrategy'
更新 2:
我在调试器中注意到配置中有一个嵌套映射,如下面的屏幕截图所示。这会阻止AuditEntitiesConfiguration
正确读取属性,因为它只是使用map.get
.
为什么会这样?我的 YAML 格式有问题吗?
我尝试将此属性的 YAML 设置简化为一行,但没有帮助:
org.hibernate.envers.audit_strategy: 'org.hibernate.envers.strategy.ValidityAuditStrategy'
解决方案
我发现我可以通过修改Application
类来使它工作:
static void main(String[] args) {
System.setProperty('org.hibernate.envers.audit_strategy', 'org.hibernate.envers.strategy.ValidityAuditStrategy')
GrailsApp.run(Application, args)
}
我愿意接受更好的解决方案。
推荐阅读
- javascript - 单击链接以转到包含嵌入内容的页面时,嵌入不显示
- python - 为什么我在 CNN 中得到尖峰图(损失 vs 时期)
- bash - 使用 aws cli 更改记录集失败
- r - st_simplify dTolerence 与十进制度
- sql - 扩展 Hive 分区 ORC 表中断查询
- javascript - NgRx 7.4.0:未捕获的 TypeError:ctor 不是构造函数
- javascript - Javascript if语句问题:网页中没有显示
- python - 有没有办法在 Windows 上使用 32 位 python 2.7 从线程打开 64 位 exe?
- python - 在 Python 中打印一个类中包含的所有元素
- django - 如何从 django 应用程序视图中的模块访问自定义装饰器