ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在Spring 3中使用Hibernate

2019-12-10 00:20:48  阅读:287  来源: 互联网

标签:hibernate annotations spring spring-mvc


我当前的Web开发工具是Spring 3,我之前使用过Hibernate,在访问注释和实体以及会话对象之后,我实际上对它非常熟悉.但是,这是我第一次需要从头开始进行实际设置.

当前,我有一个用于JDBCTemplate的数据源,并且想将其重用于Hibernate.

不幸的是,我越了解Hibernate,就越困惑.配置它的方式有很多,自一些教程以来,情况已经发生了很大变化.最令人困惑的是,有时会使用persistence.xml文件,有时会使用休眠配置XML文件.

然后有会话工厂,但也有实体管理器工厂.有人可以摘录其中的一些信息,所以我面前还有一条清晰的路.

我唯一真正的要求是我可以在Hibernate中使用批注.我也想支持交易.

我知道这个问题有些含糊,但这是因为我一直无法真正找到一个可靠的“教程化”解决方案,该解决方案与我信任的Spring 3无关.

解决方法:

Currently I have a datasource that I have used for JDBCTemplate, and I want to reuse that for Hibernate.

没问题.我只是提到通过Hibernate和JDBC访问相同的表将需要一些预防措施.

(…) Most confusing is that sometimes a persistence.xml file is used, sometimes a hibernate config XML file.

hibernate.cfg.xml是Hibernate本机配置文件. persistence.xml是JPA(标准化Java Persistence API)配置文件.如果您决定采用JPA方式(这是我的建议),则通常仅使用persistence.xml.而且,如果您使用Spring,无论如何大多数配置实际上都将存储在Spring配置文件中.

Then there are session factories, but then there are also entity manager factories. Could someone please distill some of this information so I have a bit more of a clear path ahead of me.

与上述相同的故事. SessionFactory(和Session)是Hibernate本地API中的类,而EntityManagerFactory和EntityManager则是JPA的“对应部分”.如果您采用JPA方式,则将处理EntityManagerFactory和EntityManager.

My only real requirements are that I can use the annotations with Hibernate. I’d like to have support for transactions too.

如前所述,我的建议是使用标准化的JPA API(仅在严格要求时才使用Hibernate专有扩展).对于事务,请使用Spring.

文档的12.6. JPA部分涵盖了配置Spring所需的所有内容(我建议使用将与数据源一起提供的LocalContainerEntityManagerFactoryBean).

对于数据访问层(DAO),请使用JpaTemplate and JpaDaoSupport类或使用注入的EntityManagerFactory或EntityManager实现DAOs based on plain JPA(我个人使用后一种方法).

所有这些对Spring 2.5文档的引用在Spring 3.0中仍然有效.以防万一,这是一个不太旧的tutorial,可以帮助您入门.

也可以看看

> Similarity and difference between JPA and Hibernate
> Difference Hibernate 3.5 / JPA 2.0

标签:hibernate,annotations,spring,spring-mvc
来源: https://codeday.me/bug/20191209/2097916.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有