zoukankan      html  css  js  c++  java
  • (补充)06.Hibernate持久化类&持久化对象

    持久化类:就是一个Java类(JavaBean),这个类与表建立映射关系就可以成为是持久类

      持久化类 = JavaBean + xxx.hbm.xml

      编写规则:

    • 1.提供一个无参数,public访问控制符的控制器  --底层需要反射
    • 2.提供一个标识属性,映射数据表主键字段  --唯一标识OID,数据库通过主键,Java对象通过地址确定对象,持久化类通过唯一标识OID确定记录
    • 3.所有属性提供public访问控制符的get,set方法
    • 4.标识属性应尽量使用基本数据类型的包装类型。(使用long不使用int),在封装存储到数据库是空值为null

    持久化对象:持久化类实现的对象

    持久化对象的三种状态:

    • 1.瞬时态  --没有持久化标识OID,没有被纳入到Session对象管理

        获得瞬时态对象:

    User user = new User();

        瞬时态-->持久态:

    save() / saveOrUpdate();

        瞬时态-->脱管态:

    user.setId(1);
    • 2.持久态  --有持久化标识OID,被Session对象管理

        获得持久化对象:

    get() / load() ;

        持久化-->瞬时态

    delete();    //比较有争议,进入特殊的状态(删除态,Hibernate不建议使用)

        持久化-->托管态

    session.close() / evict() / clear() ;
    • 3.脱管态  --有持久化标识OID,没有被纳入Session对象管理

        获得脱管态对象:不建议直接获得脱管态对象

    User user = new User();
    user.setId(1);

        脱管态-->持久态

    update() / saveOrUpdate() / lock()

        脱管态-->瞬时态

    user.setId(null);

    注意:持久态的持久化对象具有自动更新数据库的能力!!

       Hibernate的一级缓存--->>>Session的缓存和快照

  • 相关阅读:
    vaddin使用技巧
    数据库连接&数据库进程&数据库操作
    gcc编译器参数使用及解决
    smtp服务器搭建(实现本地通讯)
    jdk+tomcat+mysql搭建网站无法打开
    ie8此加载项无法恢复&网站还原错误问题解决=lr成功打开ie成功录制脚
    loadrunner打不开ie&ie默认浏览器设置方法
    判断iis是否已经安装
    loadrunner常见问题
    代码中字符串比较长时可以分行写
  • 原文地址:https://www.cnblogs.com/NEWHOM/p/6762950.html
Copyright © 2011-2022 走看看