我们在Hibernate 3.2.5中使用Postgres 9.1.0。休眠与Postgres 9.0的隔离级别
我已经下载了最新的JDBC驱动程序JDBC4 Postgresql Driver, Version 9.1-901
。
我设置了hibernate隔离属性。
<property name="connection.isolation">2</property>
这意味着
2=READ_COMMITTED
但在尝试访问数据库时,它给我的错误。
Caused by: org.postgresql.util.PSQLException: Cannot change transaction isolation level in the middle of a transaction.
at org.postgresql.jdbc2.AbstractJdbc2Connection.setTransactionIsolation(AbstractJdbc2Connection.java:821)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:103)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
如果我删除隔离级别的属性。它工作正常。 任何帮助,将不胜感激
我跳过了“隔离设置”。和它的工作 –
我正在追逐这个同样的问题,作为从Hibernate 3升级到Hibernate 4的应用程序的一部分。它似乎与Hibernate初始化和对Postgres执行查询以收集用户定义类型有关。 –
我相信如果你有一个连接池配置,你不会看到问题。在我的情况下,它只影响测试,并且我能够更改我的测试配置以不指定事务隔离。 –