Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在单个项目中使用Spring Hibernate和JDBC模板_Java_Spring_Hibernate_Jdbctemplate - Fatal编程技术网

Java 在单个项目中使用Spring Hibernate和JDBC模板

Java 在单个项目中使用Spring Hibernate和JDBC模板,java,spring,hibernate,jdbctemplate,Java,Spring,Hibernate,Jdbctemplate,我们计划做的是我们想要一个单独的项目,但是想要使用三个不同的框架来收集,所以这是一个好主意还是可以实现的 我们已经用spring和hibernate构建了项目,但是我们想用jdbc模板扩展它 请指导常见问题,如 -是否需要新的会话工厂? -我们可以将POJO与hibernate注释一起与jdbc模板一起使用,还是必须创建一个新的模板? -如果平均每次有500个用户,这会对性能造成问题吗 提前感谢。在同一个应用程序中同时使用ORM和JDBC是一件合理的事情。Hibernate可以运行本机SQL查询

我们计划做的是我们想要一个单独的项目,但是想要使用三个不同的框架来收集,所以这是一个好主意还是可以实现的

我们已经用spring和hibernate构建了项目,但是我们想用jdbc模板扩展它

请指导常见问题,如 -是否需要新的会话工厂? -我们可以将POJO与hibernate注释一起与jdbc模板一起使用,还是必须创建一个新的模板? -如果平均每次有500个用户,这会对性能造成问题吗


提前感谢。

在同一个应用程序中同时使用ORM和JDBC是一件合理的事情。Hibernate可以运行本机SQL查询,因此您可以将其视为另一种选择,取决于您的想法。

JDBC没有使用与Hibernate类似的会话工厂或实体管理器工厂。JDBC结果的缓存必须与Hibernate分开处理

Hibernate/JPA注释与JDBC查询无关,传入查询的行映射器控制POJO的填充方式。您可以重新使用Hibernate实体来由行映射器填充,但实际上,使用JDBC的原因是为了通过更平坦的对象获得更集中的结果,最终得到一组单独的DTO


我不清楚你认为什么会影响这里的表现。JDBC应该是Hibernate性能方面的改进,尽管其代价是业务逻辑分散在多个地方。棘手的部分可能是设置事务管理器,以便JDBC和Hibernate使用相同的事务,请参见。

嘿,Nathan,这是可以理解的,但我得到了一个关于Hibernate的POJO中使用什么映射的问题?如果我从hibernate获取一个对象,然后使用jdbc模板获取另一个对象,我可以在彼此中设置该对象并使用它吗?在这里,hibernate对象是持久的,jdbctemplate不是。因此,如果我在执行CRUD操作时将jdbctemplate对象设置为hibernate对象,它会对数据进行更改吗?@commit:是的,您可能会在不经意间更改数据。一种方法是另一层DTO,或者将另一种方法从hibernate实体复制到jdbc创建的实体。设置只读事务可能也会有所帮助。