JDBC  Hibernate  实体Bean的区别?

解决方案 »

  1.   

    JDBC 是个未加工过的数据库操作方式,哪怕做一条简简单单的查询语句,都得按照一定的套路,获得 Connection,
    书写 SQL 语句后放到 PreparedStatement 中去执行,再将执行结果还给 ResultSet,最后还必须按照一定的顺序
    依次关掉这些对象。在上面这些过程中还要处理 SQLException 这个异常。而 Hibernate 通过配置文件,将数据库中的表与一个普通的 Java 类进行关联,底层采用的还是 JDBC,但是这些操
    作对于开发者来说是看不到的,这一切都是 Hibernate 在内部完成的,这一过程称为“实体/关系映射”,也就是将
    对象的实体与关系数据库中的数据进行一一映射。在 Hibernate 中执行一个简单的查询只需要少量的代码就能完成了。
    话又说回来,如果一切都是自动化的那么肯定会损失一些性能的,在 Hibernate 中采用反射和 JavaBeans 技术完成
    这一自动化操作。实体 Bean 是 EJB 中的概念,在 EJB 3 规范之前的实体 Bean 可以直接无视掉,没有必要去看了。在 EJB 3 中已经
    取消了实体 Bean,取而代之的是 JPA,JPA 中的实体类与 Hibernate 中的实体类一样,都是普通的 Java 类(这里说
    的普通 Java 类是指只有属性和 set/get 方法的类)。EJB 3 中的实体类采用注释的方式对类中的属性进行标注,具体
    地指示 JPA 中的实体类与数据库中表的对应关系。在 JPA 中这种对应的关系可以采用 XML 方式,也可以采用注释标注,
    官方推荐是采用注释标注的方式。顺便提一下,JPA 标准由于 Hibernate 的作者是 JPA 规范专家组成员之一,如果会 Hibernate 的话,那么 JPA 就是
    很容易的。
      

  2.   

    果子说的对,
    其实Hibernate是封装了JDBC 访问数据库的代码,大大简化了数据访问层的代码量