Hibernate 对象-关系映射

用Hibernate写了个简单的例子,感觉真是爽啊。DAO层中少了很多很多代码,没有一句SQL语句。之前我们多以面向对象的方式组织程序,瞬时的数据也多以对象的形式存在,而持久化的数据多保存在关系型的数据库中。所以,在通常的情况下,持久化要完成的操作就是把对象保存到关系型数据库中,或者把关系型数据库中的数据读取出来,以对象的形式封装。

持久化工作主要在O(Object)和R(Relational Database)之间完成。

Hibernate就是在JDBC的方式上进行封装,以简化JDBC方式繁琐的编码工作。使用Hibernate将对象保存到数据库中再也不用编写长长的SQL语句,对应每个字段设置PreparedStatement中参数的值了。只需要简单的执行session.save(user),即可把user对象保存到数据库对应的表中。

这么简单的就把user对象保存到数据库里面了,可是它是怎么知道我们user对象中的哪个属性对应数据库中的哪一个字段的呢?原来是ORM(O/R Mapping)搞的鬼啊!这个机制中保存有对象和关系数据库表的映射信息,当数据在对象和关系数据库中转换的时候,协助其顺利的转换。

在Hibernate中,使用xml格式的配置文件来保存这些映射信息。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。在很大程度上简化了DAO层的编码工作。


除非另有声明,本站遵循【署名-非商业性使用-相同方式共享 3.0 共享协议】授权。

转载原创文章请注明,转载自:Neeke[http://www.ineeke.com]

本文链接: http://www.ineeke.com/archives/HibernateObjectRelationalDatabaseMapping/

2008年12月25日 | 归档于 J2EE技术 | 3 条评论
  1. kiis
    2008年12月26日 18:46 | #1

    嗯嗯,这个我还能看懂一点点。呵呵!

    Gravatar头像neeke 于 2008-12-26 23:04:28 回复

    咱俩差不多。

  2. 2008年12月25日 23:20 | #2

    看来我是学不成java了啊,哎!难!难于上青天!

    Gravatar头像neeke 于 2008-12-26 23:03:50 回复

    嗯,JAVA就是要学的东西太多了,很多很多开源的东西…

  3. 2008年12月25日 21:12 | #3

    MERRY \^0^ / CHRISMAS

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
n:-zy n:-zr n:-zan n:-xf n:-wx n:-tz n:-tt n:-ts n:-sy n:-st n:-ss n:-sk n:-qd n:-pz n:-lh n:-kun n:-ku n:-hx n:-hd n:-gt n:-gg n:-bz

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!