hibernate 学习细节

来源:互联网 发布:华为软件培训 编辑:程序博客网 时间:2024/06/11 08:58

一  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>