Hibernate学习笔记(一)
一、环境搭建;
添加以下.jar文件:
1、Hibernate3.3.2.jar
2、lib/required目录下的全部jar
3、另外还要单独去下载添加 slf4j-nop.jar;
注:slf4j-nop.jar是slf4j-api.jar的实现,slf4j是用来输出日志信息的,Hibernate3里面是用它来输入日志的,所以我们要添加slf4j的实现。
二、hibernate.cfg.xml 配置;
<!--数据库连接信息--> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.connection.username">scott</property> <property name="hibernate.connection.password">scott</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- Enable Hibernate's automatic session context management 如果使用的是annotation,必须加上这个--> <property name="current_session_context_class">thread</property> <!--对象映射(class这种映射是配合annonation使用的,如果是resource则是配合.xml使用的)--> <mapping class="com.darren.pojo.Husband" /> <mapping class="com.darren.pojo.Wife" />
三、主键设置:
1、xml:
<id name="id"> <!--class中填入你想要的生成策略--> <!--生成策略在下面有介绍过--> <generator class="native"></generator> </id>
2、Annotation:
在属性的get()方法上面添加:@GeneratedValue,这是默认的写法,它完整的表示是:@GeneratedValue(strategy=GenerationType.AUTO),auto相当于xml形式中的native.其他都一样。
四、主键生成策略:
1、identity :数据库自动生成,int类型,自增,适用mysql、mssql等数据库。
2、sequence : 数据库自动生成,int类型,自增,适用oracle。
3、uuid :由hibernate生成一个很不重复的ID。
4、native: 根据数据类型,自动决定适用那种主键生成策略;例如:用mysql,则选择适用identiry生成策略,用oracle数据库,则选择适用sequence生成策略。