一 SessionFactory 对象是重点,使用 Configuration 创建,SessionFactory 对象创建的过程特别耗费资源,所以在一个项目中一般创建一个对象,建议使用静态代码块(在类加载的时候只执行一次)来实现。实现代码如下:
public class HibernateUtils {
private static Configuration cfg = null;
private static SessionFactory sessionFactory =null;
static{
cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
}
二 Session 对象类似于jdbc中的从Connection 对象,调用Session对象里面不同的方法实现数据的增加,删除,修改的操作。该对象是一个单线程对象。
三 实体类编写规则
(1)实体类属性私有
(2)私有属性,使用公开的set和get方法
(3)要求实体类有一个属性作为唯一值
(4)实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类。(假如一个成绩用了float型,有一个同学考了0 分,有一个人缺考,float型的值不可能为null,所以就没有办法区分这两名同学,因此建议不使用基本数据类型)
四 解决编写配置文件代码Eclipse没有提示的问题
(1) 如果电脑连上了网,eclipse就会自动提示
(2)如果没有网就需要把相应的约束文件引入到Eclipse中。引入的过程如下:
Windows --> preference --> 输入 xml c (找到下面的XML Catalog) --> 复制要引入dtd文件的http那句话-->点击Add按钮 --> 选择(URI) 将复制的那句话粘贴到下面--->Location(找到Dtd文件路径) --> 重启开发工具即可
五 hibernate 主键生成策略
在hibernate 的映射配置文件中,属性class 中的值如果是uuid ,则在User实体类中 uid 必须是String,而不能是int类型。
<id name="uid" column="uid">
<generator class="native"></generator>
</id>