Как установить уровень изоляции транзакции источника данных Postgres - PullRequest
3 голосов
/ 07 июня 2010

Как установить уровень изоляции глобальной транзакции для источника данных postgres.

Я использую jboss и использую hibernate для подключения.

Я знаю, что могу установить уровень изоляции от спящего режима, это работает для Postgres?

Это можно сделать, установив для свойства hibernate hibernate.connection.isolation значение 1,2,4,8 - различные значения соответствующих статических полей.

Я использую org.postgresql.xa.PGXADataSource

Ответы [ 2 ]

4 голосов
/ 29 июня 2010

Если вы не используете Hibernate или просто предпочитаете устанавливать уровень изоляции в источнике данных, все источники данных JBoss поддерживают тег <transaction-isolation>:

<datasources>
  <local-tx-datasource>
    <jndi-name>GenericDS</jndi-name>
    <connection-url>[jdbc: url for use with Driver class]</connection-url>
    <driver-class>[fully qualified class name of java.sql.Driver implementation]</driver-class>
    <user-name>x</user-name>
    <password>y</password>
    <!-- you can include connection properties that will get passed in 
     the DriverManager.getConnection(props) call-->
    <!-- look at your Driver docs to see what these might be -->
    <connection-property name="char.encoding">UTF-8</connection-property>
    <transaction-isolation>TRANSACTION_SERIALIZABLE</transaction-isolation>
    [...]

Я получил эту информацию из JBoss wiki

1 голос
/ 07 июня 2010

Вы можете установить уровень изоляции таким образом.Hibernate позволяет вам делать это независимо от базы данных, поэтому он будет работать с PostgreSQL.

...