【问题标题】:JPA/Hibernate with sql lite - performance使用 sqlite 的 JPA/Hibernate - 性能
【发布时间】:2012-08-26 12:42:03
【问题描述】:

我有一个关于 JPA/Hibernate 性能的问题。

我们正在构建 Web 应用程序,目标之一是存储问题及其答案。对于这两件事,我们都有类层次结构和@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)

问题有参考答案,每个问题都存储在某个列表中。

我使用 firebug 观察到,当我向列表中添加新问题并使用 entityManager.merge 时,我需要等待大约一秒钟才能得到响应。我认为等待简单添加请求的响应需要很长时间。

是因为继承策略,还是我不应该使用entityManager.merge 并尝试编写自己的查询。

可能是因为我使用的是 sql lite 数据库导致性能低(sql lite 仅用于测试,生产时会使用 postgre)?

或者这种性能对于 ORM 解决方案来说是相当标准的。

【问题讨论】:

    标签: performance hibernate sqlite jpa orm


    【解决方案1】:

    我经常使用 sqlite(有时甚至用于生产),其性能有时甚至优于传统的客户端服务器连接。

    也许您应该调试您的应用程序并启用您正在使用的 JPA 提供程序的日志记录,以查看实际上是否应归咎于继承模型。

    但是,如果您正确地完成了继承,那么我认为这不是问题。如果您粘贴有关如何声明类的代码会有所帮助。

    如果这种情况持续存在,我也会查看分析器。

    【讨论】:

    • 我发现了为什么我的表现如此糟糕。我在没有索引列的情况下使用了ArrayList,因此每次从集合中添加或删除都会导致 Hibernate 从表中删除所有内容并使用新行重新插入。现在我使用Set 来存储我的对象,一切正常。
    猜你喜欢
    • 2017-01-05
    • 2013-01-11
    • 2014-04-14
    • 1970-01-01
    • 2021-03-10
    • 2013-07-23
    • 2016-07-25
    • 2023-02-20
    • 1970-01-01
    相关资源
    最近更新 更多