分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

5 -- Hibernate的基本用法 --5 3 改变持久对象状态的方法

发布时间:2023-09-06 01:09责任编辑:彭小芳关键词:Hibernate

  1. 持久化实体

    Serializable save(Object obj) : 将obj对象变为持久化状态,该对象的属性将被保存到数据库。

    void persist(Object obj) : 将obj对象转化为持久化状态,该对象的属性将被保存到数据库。

    Serializable save(Object obj,Object pk)  : 将obj对象保存到数据库,保存到数据库时,指定主键值。

    void persist(Object obj,Object pk) : 将obj对象转化为持久化状态,保存到数据库时,指定主键值。

  2. 根据主键加载持久化实体

    News news = session.load(News.class,pk);

    如果没有匹配的数据库记录,load()方法可能抛出HibernateException异常;如果在持久化注解中指定了延迟加载,则load()方法会返回一个未初始化的代理对象,这个代理对象并没有加载数据记录,直到程序调用该代理对象的某方法时,Hibernate才会访问数据库。

    News news = session.get(News.class,pk);

  提示:

    1. 如果News的标识属性(identifier)时generated类型的,那么Hibernate将会在执行save()方法时自动生成标识属性值,并将标识属性值分配给该News对象,并标识属性会在save()被调用时自动产生并分配给News对象。如果News的标识属性时assigned类型的,或者时复合主键(composite key),那么该标识属性值应当在调用save()之前手动赋给News对象。

    2. save()方法需要立即返回持久化对象的标识属性值,所以程序执行save()方法会立即将持久化对象对应的数据插入数据库;

    3. persist()则保证当它在一个事务外部被调用时,并不立即转换成insert语句。在需要封装一个长会话流程时候,persist()方法尤为重要。

啦啦啦

5 -- Hibernate的基本用法 --5 3 改变持久对象状态的方法

原文地址:http://www.cnblogs.com/ClassNotFoundException/p/7499864.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved