Session 方法简介

1.save()方法

需要注意的是,如果持久化标示符是generated或identity类型,那么该标志符会自动在save()被调用时产生并分配给cat对象,如果Cat类的持久化标志符是assigned型的,或是一个复合主键,那么应该手动赋值。

如果需要持久化的对象有级联对象,如果在没有外键约束的情况下,则对象及其对象持久化的顺序是任意的,如果存在外键约束的话必须先持久化对象然后再持久化级联对象。


2.load()和get()方法

注意区别的是,load是用的代理的方法不会立即获取真实的对象,并且如果数据库没有这条数据则会抛出对象不存在异常。而get()方法如果数据库中没有这条数据则会返回null对象。

两种调用的方法:

        session.load(Answers.class, new Long(1));


        Answers answers2=new Answers();
          session.load(answers2, new Long(1));

3.update()方法

 对于对象的持久化操作一般不用专门的调用某个方法,session的flush机制可以自动将持久化对象的数据与数据库同步,update()方法主要用于使用托管对象重新关联带session从而将修改内容持久化。

注意的是:如果怒有相同持久化标识符的对象已经被一个session装载了,那么应用程序进行重新关联的话就会抛出异常。

如:

    session.load(Answers.class, new Long(1));
    answers.setClickNum(1);
    session.flush();
    session.close();
    answers.setContent(" ");
    session.update(answers);

如果将close()方法去除的话,就会抛出异常。


4.saveOrUpdate()方法

即可持久化托管对象,又可以持久化瞬时对象。




你可能感兴趣的:(Session 方法简介)