当前位置: 首页 > news >正文

江门网站制作开发做卡贴和果冻贴的网站

江门网站制作开发,做卡贴和果冻贴的网站,吴川市建设工程公司网站,国家企业信用信息公示系统(广东)1.概述 本文将展示如何使用Spring和Hibernate实现DAO 。 有关核心的Hibernate配置#xff0c;请参阅有关带​​有Spring的Hibernate 3和Hibernate 4的文章。 2.没有更多的春天模板 从Spring 3.0和Hibernate 3.0.1开始#xff0c; 不再需要Spring HibernateTemplate来管理Hib… 1.概述 本文将展示如何使用Spring和Hibernate实现DAO 。 有关核心的Hibernate配置请参阅有关带​​有Spring的Hibernate 3和Hibernate 4的文章。 2.没有更多的春天模板 从Spring 3.0和Hibernate 3.0.1开始 不再需要Spring HibernateTemplate来管理Hibernate Session。 现在可以使用上下文会话 - 由Hibernate直接管理并在整个事务范围内处于活动状态的会话 。 因此现在的最佳实践是直接使用Hibernate API而不是HibernateTemplate 这将有效地将DAO层实现与Spring完全脱钩。 2.1。 没有HibernateTemplate的异常翻译-活得很好 异常转换是HibernateTemplate的职责之一–将低级别的Hibernate异常转换为更高级别的通用Spring异常。 如果没有模板 该机制仍处于启用状态并积极为所有对Repository注解的DAO的。 在幕后它使用了一个Spring bean后处理器该处理器将为所有Repository bean和在Spring上下文中找到的所有PersistenceExceptionTranslator提供建议。 要记住的一件事是异常翻译是通过代理完成的。 为了使Spring能够围绕DAO类创建代理不得将它们声明为final 。 2.2。 没有模板的Hibernate会话管理 当Hibernate对上下文会话的支持问世时 HibernateTemplate本质上已经过时了。 实际上该类的javadoc已使用以下建议进行了更新原始文本为粗体 注意从Hibernate 3.0.1开始事务性Hibernate访问代码也可以采用普通的Hibernate样式进行编码。 因此对于新启动的项目请考虑采用基于{link org.hibernate.SessionFactorygetCurrentSession}的标准Hibernate3样式编码数据访问对象。 3. DAO 我们将从基本的DAO开始- 一个抽象的参数化的DAO 它支持常见的通用操作并且打算针对每个实体进行扩展 public abstract class AbstractHibernateDAO T extends Serializable {private Class T clazz;Autowiredprivate SessionFactory sessionFactory;public void setClazz( final Class T clazzToSet ){clazz clazzToSet;}public T findOne( final long id ){return (T) getCurrentSession().get( clazz, id );}public List T findAll(){return getCurrentSession().createQuery( from clazz.getName() ).list();}public void save( final T entity ){getCurrentSession().persist( entity );}public T update( final T entity ){return (T) getCurrentSession().merge( entity );}public void delete( final T entity ){getCurrentSession().delete( entity );}public void deleteById( final long id ){final T entity findOne( id);delete( entity );}protected final Session getCurrentSession(){return sessionFactory.getCurrentSession();} } 这里有几个方面很有趣–如所讨论的抽象DAO不会扩展任何Spring模板例如HibernateTemplate 。 而是将Hibernate SessionFactory直接注入DAO中并通过它公开的上下文Session扮演主要Hibernate API的角色 this.sessionFactory。 getCurrentSession ; 另外请注意实体的Class是在构造函数中传递的以便在通用操作中使用。 现在让我们看一下Foo实体的DAO的示例实现 Repository public class FooDAO extends AbstractHibernateDAO Foo implements IFooDAO{public FooDAO(){setClazz(Foo.class );} }4。结论 本文介绍了基于XML和Java的配置以及Hibernate和Spring 3.1持久层的配置和实现。 讨论了不再依赖DAO层模板的原因以及配置Spring以管理事务和Hibernate Session的可能的陷阱。 最终结果是一个轻量级的干净的DAO实现几乎没有依赖Spring的编译时。 这个简单项目的实现可以在github项目中找到–这是一个基于Eclipse的项目因此应易于导入和运行。 参考来自BCG的 JCG合作伙伴 Eugen Paraschiv的Spring 3和Hibernate的DAO 。 翻译自: https://www.javacodegeeks.com/2011/12/persistence-layer-with-spring-31-and.html
http://www.zqtcl.cn/news/469786/

相关文章:

  • 黄金网站下载免费建设个人网站需要什么条件
  • 网站开发人员岗位职责网站维护报价单
  • 免费正能量不良网站推荐自建网站视频教程
  • 厦门物流网站建设南京宜电的网站谁做的
  • vps 网站备案手机界面设计素材
  • seo排名影响因素主要有灯塔seo
  • 济南哪家做网站小勇cms网站管理系统
  • sns社交网站注册做网站 提交源码 论坛
  • wordpress网站编辑semir是什么牌子
  • 做区块链的网站教育培训机构平台
  • 系统网站怎么做的seo竞争对手分析
  • 菏泽网站建设菏泽众皓网页开发工资
  • 网站建设需求分析酒类群晖wordpress 映射
  • 呼和浩特网站建设宣传wordpress淘宝客插件开发
  • 如何建网站赚钱做淘宝网店需要多少钱
  • 做个企业网站 优帮云移动商城个人中心手机卡进度查询
  • 深圳建设网站哪家最好国外互联网裁员
  • 网站重新建设的请示wordpress get_terms 排序
  • 建站模板免费下载wordpress 管理地址
  • 静安企业网站制作wordpress文章列表显示缩略图
  • html前端网站开发先做网站还是先解析
  • 怎么通过域名访问网站elision wordpress
  • 做邮轮的网站做游戏的软件app
  • 做网站用php还是python家装十大品牌排行榜
  • 湛江网站建设招聘创作者服务平台
  • 衡阳建网站高中制作网站怎么做
  • 上海网站排名团队推广链接跳转
  • 寻找郑州网站优化公司上海高端网站定制
  • 网站关键词排名优化长城建设投资有限公司网站
  • 网站专题优化电子商务网站运营方案