Spring Data 2025.1.0-M4 釋出

釋出 | Mark Paluch | 2025年7月18日 | ...

我謹代表團隊和所有貢獻者,高興地宣佈下一代 Spring Data 的第四個里程碑版本已釋出。該里程碑版本繼續提供新功能和改進。

儲存庫的預先最佳化

當透過 Spring Boot 的構建外掛應用 AOT 最佳化時,AOT 生成的 Repository 現在預設啟用:您不再需要設定 spring.aot.repositories.enabled 屬性。此外,您可以透過設定 spring.aot.jpa.repositories.enabled=falsespring.aot.mongodb.repositories.enabled=false 來完全或單獨停用 AOT repository 的生成。

對於 MongoDB,我們為額外的查詢方法添加了 AOT repository 支援

  • 將地理空間型別用於 NearWithin 查詢
  • 向量搜尋
  • 排序規則
  • 值表示式

更新了 MongoDB BigDecimal 和 BigInteger 的預設表示方式

Spring Data MongoDB 已更新其預設設定,對 BigDecimalBigInteger 值(查詢和寫入)使用 Decimal128。Spring Data MongoDB 5.0 可以讀取現有值,但查詢和寫入將使用 Decimal128。請務必將您的資料遷移到 Decimal128,或者將預設或單個屬性切換回使用基於字串的表示方式。

Spring Data JDBC 中的複合識別符號

Spring Data JDBC 支援複合 Id。複合識別符號現在可以是複雜型別,理想情況下是具有一組簡單屬性的型別。一個簡單的例子如下所示

class Person {
    @Id Name id; 
    String nickname;
    Integer age;
}

record Name(String first, String last) {
}

雖然對於簡單的排列來說不是必需的(複雜 @Id 型別被視為可嵌入型別),但您可以使用 @Embedded(prefix=…) 來配置列名字首。

Spring Data Redis

Spring Data Redis 現在使用 JSpecify 註解進行標註。Command 和 Operations 介面特意設定為 @NullUnmarked,因為 Redis 的事務行為使得每個方法根據是否在事務或管道上下文中使用而有條件地可為空。我們認為這是在空值指示和解決在特定上下文中不適用的空值指示所帶來的麻煩之間最好的折衷。

我們還提供了基於 Jackson 3 的序列化器,同時現有對 Jackson 2 的支援現已棄用。

展望未來,我們將在未來幾個月內完成對 Jackson 3 的支援。請參閱我們詳細的發行說明以獲取完整的更改列表。

感謝所有透過問題報告和拉取請求做出貢獻的人。

2025.1.0-M4

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有