EJB学习(6)——Entity Bean 和 Hibernate的比较

EJB学习(六)——Entity Bean 和 Hibernate的比较

    在学习EJB的Entity Bean这一块的时候,感觉它和Hibernate是一样一样的,把当初总结Hibernate的导图找了出来,经过对比,感觉两个几乎是差不错的,下面就在Hibernate的基础上理解下EJB的Entity Bean.


            EJB学习(6)——Entity Bean 和 Hibernate的比较

    

    我们通过上面的导图来对Entity Bean和Hibernate做个比较:


    1.Hibernate中的全局配置文件hibernate.cfg.xml和Entity Bean中的persistence.xml

    Hibernate的hibernate.cfg.xml:这一部分主要记录了连接数据库的必要信息,比如数据库驱动、数据库名称、用户名和密码,以及Hibernate访问不同数据库需要的方言配置,还有一部分就是对xxx.hbm.xml文件的引入。

    persistence.xml:指定实体 Bean 使用的数据源及 EntityManager对象的默认行为。这里的EntityManager对象的默认行为,时间上就是配置DDL的生成策略,和上面不同的是,persistence.xml中没有每个实体的xxx.hbm.xml文件。


    2.Hibernate中的"实体+实体.hbm.xml"和Entity Bean中的"实体类"
    Hibernate中把实体映射到数据库需要"实体.hbm.xml",而在Entity Bean中,实体映射到数据库是通过注释完成的,在类上和类的属性上打上相应的标签即可。

    3.Hibernate中的Session和Entity Bean中的EntityManager
    在Hibernate中,对数据的增删改差是通过Session实现的;而在Entity Bean中,对实体的增删改差则是通过EntityManager,即持久化实体管理器完成的。而且他们的对实体的操作除名称外几乎都是差不多的。 

    总结:
    实际上,通过查阅资料,发EJB 3.0 EntityBean API调用转换为内部Hibernate3自己的API,从而实现EJB3.0 EntityBean的兼容。通过相比较来学习,能更好的掌握它们之间的异同。

    


版权声明:本文为博主原创文章,未经博主允许不得转载。