有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是一个小型应用程序所必需的Hibernate和Spring集成吗?

我正在为自己创建一个小应用程序,它已经使用Spring进行依赖项注入,现在我希望使用Hibernate进行数据库开发——简单的CRUD操作

我已经阅读了关于Hibernate的教程,我了解如何在我的简单用例中使用它,但我已经看到Spring和Hibernate可以集成

这种集成是必要的吗?集成比正常使用Hibernate有什么好处


共 (3) 个答案

  1. # 1 楼答案

    在编写小型应用程序时,spring boot是一个很好的解决方案,只需很少的配置,就可以很好地构建web项目。我更喜欢使用spring的jdbcTemplate,因为hibernate太重了

  2. # 2 楼答案

    好处是巨大的:使用Spring提供的声明性事务管理,您可以避免所有繁琐且容易出错的事务和错误管理代码,而无需集成它们

    使用Hibernate而不进行声明性事务处理的典型方法如下所示:

    public void doSomeWork() {
        Session sess = factory.openSession();
        try {
            //set transaction timeout to 3 seconds
            sess.getTransaction().setTimeout(3);
            sess.getTransaction().begin();
    
            // do some work
    
            sess.getTransaction().commit()
        }
        catch (RuntimeException e) {
            sess.getTransaction().rollback();
            throw e; // or display error message
        }
        finally {
            sess.close();
        }
    }
    

    使用Spring声明处理的相同方法如下所示:

    @Transactional
    public void doSomeWork() {
        Session sess = factory.getCurrentSession();
        // do some work
    }
    

    另一个优点是Spring可以使用类路径扫描自动找到所有映射的实体,这允许避免使用hibernate或JPA配置文件

    LocalSessionFactoryBean.setPackagesToScan()

  3. # 3 楼答案

    如果您正在开发一个只有很少CRUD操作的小项目,那么可以避免使用Hibernate,除非您对Hibernate有足够的经验。主要问题之一是学习曲线,即理解ORM/会话等。请参阅以下链接,该链接对此进行了很好的解释:

    https://stackoverflow.com/questions/1607819/weaknesses-of-hibernate