2010-06-07 2 views
3

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

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

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

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

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

+1

Of что? ЧТО? :-) – amphetamachine

+0

добавил «из чего» –

ответ

1

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

+0

Hibernate В книге действий упоминается: «Hibernate никогда не меняет уровень изоляции соединений, полученных из источника данных, предоставляемого сервером приложений в управляемой среде». Вам лучше настроить уровень изоляции в конфигурации DS JBoss, как ответил Александр Т. –

4

Если вы не используете спящий режим или просто предпочитают, чтобы установить уровень изоляции в источнике данных, все источники данных 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

Смежные вопросы