【问题标题】:How to read uncomitted data using JPA/EJB3 and WildFly?如何使用 JPA/EJB3 和 WildFly 读取未提交的数据?
【发布时间】:2020-05-23 10:17:29
【问题描述】:

我已将旧版企业应用程序从 EJB2.1 迁移到 JPA/EJB3,将 JBoss 4.x 迁移到 WildFly 17。

在整个应用程序中,都遵循下面提到的模式,由于时间限制,我不打算修改坏模式。数据库中设置的默认隔离级别为已提交读。

图案: 开始交易
保存数据
通过查找器方法读取数据 - 这需要读取未提交
更新一些东西
提交事务

通过 finder 方法读取数据 - 这需要读取未提交的数据才能读取脏数据。
在 EJB2.1 中,这是通过只读 bean 处理的,我在将应用程序迁移到 JPA 时删除了这些。

不修改此处使用的代码模式是否可以实现这一点?

帮助表示赞赏!

【问题讨论】:

    标签: jpa jboss wildfly ejb-3.0 transaction-isolation


    【解决方案1】:

    我会在数据源级别设置隔离级别

    【讨论】:

      【解决方案2】:

      由于我使用的是 JBoss,它使用休眠作为实体管理器,我将 bean 从 JPA 解包到休眠会话,然后将实体从休眠中分离以使其成为只读。

      这完全没有解决问题,我的应用程序中缓存的对象很少,每当需要只读 bean 时,首先要查找缓存。

      【讨论】:

        猜你喜欢
        • 2020-05-01
        • 1970-01-01
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-29
        • 1970-01-01
        相关资源
        最近更新 更多