为什么Javers存储我的审计实体的ID包装在引号中?



我通过注释相应的Spring Data存储库来使用java审计对com.example.TaskSupplier实体的更改

@JaversSpringDataAuditable
public interface TaskSupplierRepository extends CrudRepository<TaskSupplier, String> {
}

这个实体的主键是UUID,所以我可以用

检索实例
select * from task_supplier where id = 'f463d538-ceb0-498b-a20b-2bb65286d200';

但是,这个实例的Javers的jv_global_id表中的条目用引号括起了ID,所以为了从这个表中检索相应的行,我必须执行

select * from jv_global_id
where type_name = 'com.sourcespace.bidsengine.model.TaskSupplier'
and local_id = '"f463d538-ceb0-498b-a20b-2bb65286d200"';

这是故意的还是bug?当上面没有引号的查询无法检索任何东西时,我感到困惑。我正在使用Postgres, Javers 5.14.0和Spring Boot 2.4.2

这是故意的,它是JSON类型而不是String类型。本地Id可以是Java中的任何类型,也可以是值对象,因此它被序列化为JSON。

最新更新