注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 负载均衡技术沙龙问答汇集
 帮助

如何理解Compass和Hibernate的结合使用


2008-05-03 15:59:42
 标签:compass   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weijie.blog.51cto.com/340746/74656
如何理解Compass和Hibernate的结合使用
       我们在使用Hibernate构建的项目中可以快速的添加搜索功能。在这里我只想更详解的介绍一下,它们结合时使用的工作原理。了解了工作原理,至于程序怎么实现就可以。
      首先,我们知道Hibernate是比较有名的ORM框架,它的主要作用,就是让我们的开发更接近现实生活。现在虽然有很多数据库已经是“对象型的数据库”,但在我们还是比较喜欢用一些关系型数据库。好像我们已经习惯了用这些数据库。只要有关系数据库,要想让我们的程序真正的OOP(面向对象编程)。就少不了这样一个中间组件,对象关系映射(ORM)。这个框架很方便的帮助我们实现了,把以前对关系数据库的操作,变成了我们大家都比较熟悉的面向一些简单的java类操作,也就是对一些又简单又古老的对象(pojo)的操作。
      简单的了解一下Hibernate。
      <1>hibernate技术本质上是一个提供数据服务的中间件。是一个面向Java环境的对象/关系数据库映射工具。把Java 类对应到数据库的table中,并且采用了xml技术。JavaReflection技术等。同时也提供了数据查询和恢复等机制。可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
      <2>是一个开发源代码的对象关系映射框架。它对JDBC进行了非常轻量级的对象封装。可以应用到任何可以使用JDBC的场合。
      上面的简单的介绍了一下hiberante。而compass又是对lucene的简单的封装。好比hibernate对JDBC的封装。它们很相似的。Compass的设计原则就是按照Hibernate的使用习惯而设计的,所以对Hibernate了解的,对学习Compass也是很简单的。
      Compass和Hibernate的结合使用,Hibernate就是充当了中间桥梁。Hibernate主要负责对象到数据库的映射。而Compass又可以充分利用已有的对象,间接的与数据库联系,来实现搜索。在利用Compass时,我们首先要对每个表对应的pojo为基础建立索引。同时保持数据的同步。我们可以简单的用图表示如下:
 
    希望看来这个图示,可以让你对了解Compass和Hibernate的结合使用。
     不明的地方,可以提出,我会尽力解答的。
 
      
    
    

本文出自 “魏杰的技术专栏” 博客,请务必保留此出处http://weijie.blog.51cto.com/340746/74656





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: