跳到主要内容

10. 数据库事务

通用用法见核心 API 的10. 数据库事务,状态链接说明各数据源的具体差异。

数据源注解式事务模板事务编程式事务跨 API 事务事务传播隔离级别
MySQL✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
PostgreSQL✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
Oracle✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
SQL Server✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
DB2✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
H2✓ 支持✓ 支持✓ 支持✓ 支持✓ 全部✓ 支持
ClickHouse◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
Redis◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
MongoDB◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
ES 6◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
ES 7◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
Milvus◐ 有限◐ 有限◐ 有限◐ 有限◐ 有限✕ 不支持
  • 跨 API 事务:JdbcTemplate、Session 与构造器 API 共享同一个事务。
  • 事务传播:REQUIREDREQUIRES_NEWNESTEDSUPPORTSNOT_SUPPORTEDMANDATORYNEVER,共 7 种。
  • 传播计数:按完整支持的属性计数;全部相关场景通过才计入分子。悬停查看各属性状态,部分支持的限制见状态链接。
  • 有限:部分调用可用,但受 JDBC 或数据库事务能力限制;具体可用行为及限制见对应数据源说明。
  • 隔离级别:表示能否通过 dbVisitor 设置该数据源的事务隔离级别,不表示所有数据库接受相同的值;具体取值与行为见状态链接。