zoukankan      html  css  js  c++  java
  • Hibernate相关知识

    1.Hibernate对象的三种状态

    Transient(临时状态)
    对象刚new出来,还没设置id,还没有被保存到数据库中,在session的缓存中也不存在该对象
    Persistent(持久化状态)
    对象已经被保存到数据库中,保存在session缓存中,此状态是有id的
    Detached(游离状态)
    数据库中有,但是session中不存在该对象,此状态也是有id的

    图片1

    2.Hibernate之SessionFactory

    Session session = sf.openSession(); ... session.close();
    Session session
    = sf.getCurrentSession();
    openSession():
    永远打开新的session,最后需用session.close()关闭。
    getCurrentSession():
    如果当前上下文中没有session,就创建一个session;如果已经有了,就拿到当前session。事务commit后会自动关闭。
    在commit之前,每次执行此方法所拿到的都是同一个session。此session一旦commit,拿到的就不再是同一个session。
    与hibernate.cfg.xml中
    "current_session_context_class"项有关

    3.Hibernate之Session

    CDUD
    增:save(object)
    删:delete(object)
    改:update(object) HQL方式:Query q
    = session.createQuery("HQL语句"); q.executeUpdate();
    查:load(
    *.class,id) get(*.class,id) saveOrUpdate(object) clear():强制清除session缓存
    flush():强制将缓存与数据库同步

    4.

     
  • 相关阅读:
    uvm_misc——杂货铺(miscellaneous)
    23种设计模式及其应用场景
    Hadoop TextInputFormat源码分析
    java字符串替换函数高效实现
    hadoop HA 之 QJM
    中文分词词性对照表
    计算两个字符串编辑距离
    java 图片处理
    zookeeper数据迁移
    正则表达式
  • 原文地址:https://www.cnblogs.com/weilunhui/p/3895553.html
Copyright © 2011-2022 走看看