如何设置 Postgres 数据源的事务隔离级别

发布于 2024-09-04 18:38:18 字数 250 浏览 4 评论 0原文

如何设置 postgres 数据源的全局事务隔离级别。

我在 jboss 上运行,并使用 hibernate 进行连接。

我知道我可以设置休眠的隔离级别,这对 Postgres 有用吗?

这可以通过将 hibernate.connection.isolation hibernate 属性设置为 1,2,4,8 - 相关静态字段的各种值来实现。

我正在使用 org.postgresql.xa.PGXADataSource

How do I set the global transaction isolation level for a postgres data source.

I'm running on jboss and I'm using hibernate to connect.

I know that I can set the isolation level from hibernate, does this work for Postgres?

This would be by setting the hibernate.connection.isolation hibernate property to 1,2,4,8 - the various values of the relevant static fields.

I'm using the org.postgresql.xa.PGXADataSource

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

末骤雨初歇 2024-09-11 18:38:18

如果您不使用 Hibernate 或者只是更喜欢在数据源中设置隔离级别,则所有 JBoss 数据源都支持 标记:

<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

If you're not using Hibernate or just prefer to set the isolation level in the data source, all JBoss datasources support the <transaction-isolation> tag:

<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>
    [...]

I got this information from the JBoss wiki

╰つ倒转 2024-09-11 18:38:18

您可以这样设置隔离级别。 Hibernate 允许您以与数据库无关的方式完成此操作,因此它可以与 PostgreSQL 一起使用。

You can set isolation level that way. Hibernate allows you to do it in a database-agnostic way, so it'll work with PostgreSQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文