【问题标题】:quarkus with application managed persistence具有应用程序管理持久性的 quarkus
【发布时间】:2020-03-18 06:05:16
【问题描述】:

实际上,我使用 WildFly JEE Server 并考虑切换到 Quarkus。我有以下关于 quarkus 的问题:

1.持久性.xml

我看到 quarkus 使用自己的application.properties 来设置数据库。我可以改用persistence.xml 吗?

2。容器管理的持久性

quarkus 是否提供类似的东西,还是我必须自己管理持久性?

【问题讨论】:

    标签: quarkus


    【解决方案1】:

    关于您关于Container Manager Persistence的问题;

    • 您可以使用标准的 @Transactional 注释标记任何 bean 方法。
    • 事务管理器会自动设置并配置合理的默认值;请参阅Transactions Guide 进行重新配置。
    • 数据源(连接池)与事务管理器集成在一起,并且可以选择允许 XA。见Datasource Guide
    • Hibernate ORM 自动与上述所有功能集成 - 它在“JTA​​ 模式”下有效运行
    • 您可以使用 CDI 的标准 @Inject 获取 EntityManager
    • 或者您可以使用 Hibernate ORM with Panache 甚至不需要 EntityManager :-) 它仍然会绑定到事务组件。

    如果您不喜欢它的集成方式,或者只是喜欢旧式配置,您可以使用 configuration via persistence.xml 作为替代方案。

    【讨论】:

    • 将EntityManager注入不同线程的行为是否和Java EE中的一样?在 Java EE 中,注入 entityManager 是一个代理,它被解析为连接池中的一个空闲实例。 quarkus 是否对不同的线程使用不同的 entityManager?
    • 任何以 WildFly 服务器闻名的人都可以看看这个问题stackoverflow.com/questions/59006162/…
    • @nimo23 这是 CDI 的标准注入,所以是的,在不同的线程中,默认情况下您将拥有不同的 EntityManager;您可以使用自定义生产者自定义范围:您还可以注入 EntityManagerFactory
    【解决方案2】:
    支持

    persistence.xml,见this

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 2013-09-24
      • 2021-04-19
      • 1970-01-01
      • 2019-08-07
      • 2014-12-20
      • 2021-07-13
      • 1970-01-01
      • 2016-08-14
      相关资源
      最近更新 更多