为什么 Javers 存储用引号括起来的我审计实体的 ID?
Why does Javers store the ID of my audited entities wrapped in quotes?
我通过注释相应的 Spring 数据存储库
使用 Javers 审核对 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
table 中的条目将 ID 括在引号中,因此为了从此 table 中检索相应的行,我必须执行
select * from jv_global_id
where type_name = 'com.sourcespace.bidsengine.model.TaskSupplier'
and local_id = '"f463d538-ceb0-498b-a20b-2bb65286d200"';
这是故意的还是错误?当上面没有引号的查询未能检索到任何内容时,我感到很困惑。我正在使用 Postgres、Javers 5.14.0 和 Spring Boot 2.4.2
这是故意的,它是 JSON 类型而不是 String 类型。 Local Id可以是Java中的任意类型,也是Value Object,所以序列化为JSON.
我通过注释相应的 Spring 数据存储库
使用 Javers 审核对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
table 中的条目将 ID 括在引号中,因此为了从此 table 中检索相应的行,我必须执行
select * from jv_global_id
where type_name = 'com.sourcespace.bidsengine.model.TaskSupplier'
and local_id = '"f463d538-ceb0-498b-a20b-2bb65286d200"';
这是故意的还是错误?当上面没有引号的查询未能检索到任何内容时,我感到很困惑。我正在使用 Postgres、Javers 5.14.0 和 Spring Boot 2.4.2
这是故意的,它是 JSON 类型而不是 String 类型。 Local Id可以是Java中的任意类型,也是Value Object,所以序列化为JSON.