zoukankan      html  css  js  c++  java
  • hibernate 笔记二

    一、Session中的函数:

      1、session中的函数get(Class args0,Serializable args1),获取数据库中获取类实例按照主键查找args1,load(Class args0,serializable args1)具有同样的功能,只不过load采用懒加载机制,在问访问load返回数据之前是不访问数据库的,load返回的对象从不为空。 

      2、函数persist()与save()都是保存对象的功能,区别是:save()在没有开启事物的情况下会将数据插入数据库,之后数据库回滚将数据删除、而persist不会插入数据。在开启事物的情况下,persist()与save()功能相同。

    二、实体对象的三种状态:

      瞬时状态(Transient)、持久状态(Persistent)、脱管状态(Detached)。

      对象处于那种状态与session和数据库之间的关系决定。

      (1)对象如果和session没有关联并且数据库中不存在与之对应的数据存储,那么对象处于瞬时状态。

      (2)对象如果和session有关联但数据库中还未存在与之对应的数据,那么对象处于托管状态。

      (3)对象如果和session有关联并且数据库中已经存在与之对应的数据,那么对象处于持久状态。

      三种状态之间的转换图如下:

        

    三、如果实体类名或属性名与数据库的关键字冲突:

      (1)利用~将冲突的关键字括起来。

      (2)改表名(hibernate创建表时起的名字)、属性名。

  • 相关阅读:
    mysql外键和连表操作
    数据库的操作
    进程之select和epoll
    jwt的应用生成token,redis做储存
    为什么前后端分离不利于seo
    redis的bitmap
    lnmp环境的nginx的tp5配置
    虚拟机安装cenos7后ifcfg看网卡无inet地址掩码等信息
    rsa加密
    hydra命令
  • 原文地址:https://www.cnblogs.com/luoyanli/p/2801037.html
Copyright © 2011-2022 走看看