hibernate配置文件XML与注解

来源:互联网 发布:如何连接linux服务器 编辑:程序博客网 时间:2024/06/06 18:05

百度看到的, 简单明了, 放到这里做个记录.(侵删)

sessionFactory = new Configuration().configure("WEB-INF/hibernate.cfg.xml").buildSessionFactory();hibernate实现有两种配置,xml配置与注释配置。一、hibernate.cfg.xml<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory> <!--url信息--> <property name="connection.url">jdbc:mysql://localhost:3306/webases</property><!--数据库方言信息--> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!--用户名--><property name="connection.username">root</property><!--密码--> <property name="connection.password">123456</property> <!--数据库驱动信息--> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!--指定Hibernate映射文件路径--> <mapping resource="com/Hibernate/order.hbm.xml" /> </session-factory> </hibernate-configuration> 二、注解方式:首先是需要加入4个jar包:
hibernate-commons-annotations.jar 、 hibernate-annotations.jar、ejb3-persistence.jar 、hibernate-jpa-2.0-api-1.0.1.Final.jar
不同的地方:(1):hibernate.hbm.xml 文件中把引用:xxx.hbm.xml改为引用实体类:     即把:<mapping resource="com/wsw/hibernate/model/Order.hbm.xml"/>改为:<mapping class="com.wsw.hibernate.model.Order" />(2):获取SessionFactory方式发生了变化:      即:由SessionFactory sf = new Configuration().configure().buildSessionFactory()    改为:SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory()(3):注解方式不需要在xxx.hbm.xml把实体类与表进行映射。而采用在实体类中进行注解。注意:(1):如果实体类属性名与表字段名不一致的时候,要么都注解在属性前,要么都注解在get方法前。不能部分注解在属性前,部分注解在方法前。 (2):如果实体类属性名与表字段名一致的时候,可以部分注解在属性前,部分注解在方法前。 (3):如果在实体类中某些属性不注解:(属性和get都不写注解),默认为表字段名与实体类属性名一致。 (4):如果实体类的某个成员属性不需要存入数据库中,使用@Transient 进行注解就可以了。即类似于:(xxx.hbm.Xml配置中的某些字段不写(就是不需要对这个成员属性进行映射)) (5):表名称可以在实体类前进行注解。 (6):所有这些注解在:javax.persistence包下。而不是在hibernate包中。
0 0
原创粉丝点击