java - 为 hibernate 性能编写好的代码

标签 java hibernate

<分区>

我的应用程序遇到了一些性能问题。特别是在保存到数据库和从数据库中检索时。 我的应用程序是一个独立的应用程序。不是网络应用程序。我正在使用 hibernate 进行数据库通信。 此应用程序尚未投入生产。此应用程序将同时使用 50 人。

下面是我用来获取 session 的代码。我怀疑下面是变慢的代码。

public class HibernateUtil {

    public Session getSession() {

        SessionFactory buildSessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        Session session = buildSessionFactory.openSession();
        return session;
    }

    public Transaction getTransaction() {
        return getSession().getTransaction();
    }

}

我不确定如何为打开 session 编写好的代码。 谁能建议如何将此代码重构为好的代码?

最佳答案

另外, session 是否关闭,意味着一旦线程完成了一个过程,我们是否关闭 session 。

除非遵守代码,否则您的问题没有单一的陈述答案,系统的性能取决于许多属性。

1.) GC - 何时使用哪种算法。

2.) 有多少 session 正在打开,是否有任何 session 处于空闲状态。应避免长时间运行 session 。

3.)在代码中引入缓存机制,Hibernate二级缓存,查询缓存

4.) 从数据库中检索对象有多大。

5.) 有多少查询被触发到数据库中。

请引用this , this

关于java - 为 hibernate 性能编写好的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906442/

相关文章:

java - 树模型创建

java - 如何使用 setSelectedValue 将多个项目设置为在 JList 中选择?

java - 从编译到运行,Java String编码到底是如何工作的

java - hibernate 是否重用存储在内存中的对象还是每次都创建新对象?

java - 更新包含对象字段的实体

java - 如何鼠标悬停然后需要单击选项卡-Selenium WebDriver

java - Eclipse RCP 并通过透视图和 View 进行迭代

mysql - 使用构造函数表达式和 JPQL 的复合 DTO 投影

java - Hibernate 使用空值映射复合键

数据库差异工具