我正在使用此示例中的 springboot 集成:https://github.com/l7777777b/organization-structure這是我的分叉示例:https://github.com/javers/organization-structure使用 mysql 和最新版本的 Javers 5.6.3、gradle 5.4.1 和 springboot 2.1.6.RELEASE。首先我不確定它是否是預期的行為,但是更改和快照在使用時返回空結果QueryBuilder.byInstanceId,但在使用時QueryBuilder.byClass它顯示正確。QueryBuilder.byInstanceId可以顯示新插入數據的結果,對于現有數據(服務啟動前數據庫中已有的數據),它似乎沒有被獲取。要重現它:像往常一樣運行服務./gradlew organization-structure-sql:bootRun創建新人 POST http://localhost:8080/view/person { "id": 1, "firstName": "Yang", "lastName": "Huajie", "sex": "MALE", "salary": 22, "position": "DEVELOPER" }更新它,改變任何屬性使用此代碼獲取快照: QueryBuilder jqlQuery = QueryBuilder.byInstanceId("1", Person.class); List<CdoSnapshot> changes = javers.findSnapshots(jqlQuery.build()); JsonConverter jsonConverter = javers.getJsonConverter(); System.out.println(jsonConverter.toJson(changes));它應該顯示一些數據,然后重新啟動服務?;驈娭仆V顾⑦\行 1 號。通過運行 4 再次獲得相同的快照,它應該顯示空結果。除非我插入新數據,否則新插入的數據將被返回。但是如果我改成QueryBuilder.byInstanceId(personId, Person.class);我QueryBuilder.byClass(Person.class);可以正確地從數據庫中獲取所有結果,但我只需要搜索特定的 id 這就是我需要使用byInstanceId.
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
它看起來像 id 是 Integer 并且您正在將 String 值傳遞給 byInstanceId("1")
,請嘗試將其更改為 int 并檢查 ex。byInstanceId(1)
添加回答
舉報
0/150
提交
取消