Hibernate注解配置与XML配置区别

Posted SaraMorning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate注解配置与XML配置区别相关的知识,希望对你有一定的参考价值。

注解配置的方式与xml很很多类似:

首先是需要加入4个jar包:hibernate-commons-annotations.jar 、 hibernate-annotations.jar、ejb3-persistence.jar 、 hibernate-jpa-2.0-api-1.0.1.Final.jar

使用注解和xml配置,获取Session的方法在hibernate4.0版本以后是一样的,方法如下:

1         Configuration configuration=new Configuration();
2         configuration.configure();
3         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
4         SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);        
5         Session session=sessionFactory.openSession();

下面是不同的地方:

(1)hibernate.hbm.xml 文件中把引用:xxx.hbm.xml改为引用实体类:

          即把:<mapping resource="com/db/entity/Person.hbm.xml"/>

          改为:<mapping class="com.db.entity.Person" />

(2):注解方式不需要在xxx.hbm.xml把实体类与表进行映射。而采用在实体类中进行注解。

注意:(1):实体类属性注解的时候,都注解在get方法前。

         (2):如果在实体类中某些属性不注解:(属性和get都不写注解),默认为表字段名与实体类属性名一致。

         (3):如果实体类的某个成员属性不需要存入数据库中,使用@Transient 进行注解就可以了。即类似于:(xxx.hbm.Xml配置中的某些字段不写(就是不需要对这个成员属性进行映射))

         (4):表名称可以在实体类前进行注解。

         (5):所有这些注解在:javax.persistence包下。而不是在hibernate包中。

以上是关于Hibernate注解配置与XML配置区别的主要内容,如果未能解决你的问题,请参考以下文章

配置hibernate.hbm.xml与配置hibernate.cfg.xml的头部一点小区别

Hibernate 零配置之Annotation注解

Hibernate和Mybatis的工作原理以及区别

Hibernate注解配置

Hibernate注解配置

SSH注解方式与XML配置方式对照表