代码逻辑自定义一个注解 ZTransaction ,可以指定四个事务级别,然后在带有此注解的方法执行之前,从连接池获取一个Connection对象,然后
根据注解设置的级别来执行 connection.setTransactionIsolation 然后 connection.setAutoCommit(false).
然后就是正常流程了,try里执行目标方法然后commit,catch里回滚事务,finally 里归还Connection对象并重置为默认的隔离级别。
mysql是没问题的。可是pgsql有时候会在 connection.setTransactionIsolation 这行报错:org.postgresql.util.PSQLException: 不能在事务交易过程中改变事物交易隔绝等级。
不是百分百报错。问了通义和chatgpt都说 connection.setTransactionIsolation 放在 connection.setAutoCommit(false) 之前就行了,我改成在之前,也是偶尔报这个错。找不到原因了,请问怎么办?