Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Spring数据源传递给Javers以审核DTO_Spring_Javers - Fatal编程技术网

将Spring数据源传递给Javers以审核DTO

将Spring数据源传递给Javers以审核DTO,spring,javers,Spring,Javers,在我的Spring Boot应用程序中,我希望审计DTO而不是实体,并将审计逻辑移动到公共库中,公共库将具有@EnableAudit注释,以便在方法级别审计DTO。如果我使用的是JaversBuilder.javers.build;在公共库中,我将无法提交数据,因为它对数据源一无所知 我想在我的应用程序中创建Javers实例,并将数据源传递给它,然后将Javers实例传递给公共库以执行提交。Spring boot应用程序中是否有创建Javers实例并将提交时使用的数据源关联到它的方法?如果您使用

在我的Spring Boot应用程序中,我希望审计DTO而不是实体,并将审计逻辑移动到公共库中,公共库将具有@EnableAudit注释,以便在方法级别审计DTO。如果我使用的是JaversBuilder.javers.build;在公共库中,我将无法提交数据,因为它对数据源一无所知


我想在我的应用程序中创建Javers实例,并将数据源传递给它,然后将Javers实例传递给公共库以执行提交。Spring boot应用程序中是否有创建Javers实例并将提交时使用的数据源关联到它的方法?

如果您使用Javers Spring boot starter,您将获得一个作为Spring bean创建的Javers实例。它将连接到您的数据库并随时可用。请参见

感谢您的回复。我能够解决这个问题。Javers的构建是否也支持DTO审计,而不仅仅是实体审计?。在我们的应用程序中,我们试图审计DTO更扁平的结构,我能够做到这一点,但它并没有给我一个选项,让父子关系根据父id获取所有子记录的历史记录。此外,对于如何在Javers中审核字段级更新以及如何不更新完整的DTO/实体,尚未找到任何解决方案。我不理解您的问题。DTO只是一个对象。您可以将其映射到Javers实体或ValueObject。是的,我可以直接提交dto并对其进行审核。但是,如果我对一个或2个字段进行部分更新而不传递整个对象,则JavaS将所有缺少的字段视为更改,并将其放入更改字段列中。我怎样才能告诉Javers部分更新和只有一个字段更改?你不能,没有这样的功能。我个人对DTO的看法是——它们很杂乱,扔掉它们,事情就会变得简单