本文地址:http://blog.csdn.net/shanglianlm/article/details/51209825

attachDirty:将传入的对象持久化并保存。如果对象未保存(Transient状态),调用save方法保存。如果对象已保存(Detached状态),调用update方法将对象与Session重新关联。

public void attachDirty(Addressbook instance) {log.debug("attaching dirty Addressbook instance");try {getHibernateTemplate().saveOrUpdate(instance);log.debug("attach successful");} catch (RuntimeException re) {log.error("attach failed", re);throw re;}}

attachClean:将传入的对象状态设置为Transient状态。

    public void attachClean(Addressbook instance) {log.debug("attaching clean Addressbook instance");try {getHibernateTemplate().lock(instance, LockMode.NONE);log.debug("attach successful");} catch (RuntimeException re) {log.error("attach failed", re);throw re;}}

merge:将传入的detached状态的对象的属性复制到持久化对象中,并返回该持久化对象 。如果该session中没有关联的持久化对象,加载一个,如果传入对象未保存,保存一个副本并作为持久对象返回,传入对象依然保持detached状态。

public Addressbook merge(Addressbook detachedInstance) {log.debug("merging Addressbook instance");try {Addressbook result = (Addressbook) getHibernateTemplate().merge(detachedInstance);log.debug("merge successful");
            return result;} catch (RuntimeException re) {log.error("merge failed", re);throw re;}}

findByProperty: propertyName指向列明,value对应的值,这样写便于对该表不同字段查询合用一个方法,查询时传入要查的列名和对应的值就可以了,例如HQL查询商品信息的语句如下:
String querysql = “from GoodsInfo as u where u.”+propertyName+” like ‘%”+value+”%’ order by u.goods_price asc”

public List findByProperty(String propertyName, Object value) {log.debug("finding Addressbook instance with property: " + propertyName+ ", value: " + value);try {String queryString = "from Addressbook as model where model."+ propertyName + "= ?";return getHibernateTemplate().find(queryString, value);} catch (RuntimeException re) {log.error("find by property name failed", re);throw re;}}

findByExample:

public List findByExample(Addressbook instance) {log.debug("finding Addressbook instance by example");try {List results = getHibernateTemplate().findByExample(instance);log.debug("find by example successful, result size: "+ results.size());return results;} catch (RuntimeException re) {log.error("find by example failed", re);throw re;}}

Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample相关推荐

  1. hibernate中merge/attachDirty/attachClean

    想探讨下 hibernate中merge/attachDirty/att achClean用法 merge:将传入的detached状态的对象的属性复制到持久化对象中,并返回该持久化对象 .如果该se ...

  2. Hibernate中常见的异常

    1. net.sf.hibernate.MappingException       当出现net.sf.hibernate.MappingException: Error reading resou ...

  3. hibernate中对象的状态有三种

    一,首先hibernate中对象的状态有三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate().get().load ...

  4. Hibernate中ManyToOne删除Many的一方出现 deleted object would be re-saved by cascade

    最近在写SSH整合时出现了 deleted object would be re-saved by cascade这个错误 我的Hibernate关系映射文件如下 <many-to-one na ...

  5. Hibernate中的注解说明

    Hibernate中注解注解比较多,常用的也就那么几个,在这里把Hibernate中的注解汇总总结一下. @Entity:将一个类声明为一个实体bean,即一个持久化POJO; @Id:声明bean的 ...

  6. hibernate中的hql查询语句list查询所有与iterate查询所有的区别

    hibernate中的hql查询语句list查询所有与iterate查询所有的区别 list查询所有: 01,会立即产生一条select语句1select查询出来的所有语句都会被session管理, ...

  7. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错

    一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...

  8. Hibernate-ORM:05.Hibernate中的list()和iterator()

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- Hibernate中查多条(全部)使用list()或iterator() 本篇介绍: 1.如何使用list() ...

  9. 具体解释Hibernate中的事务

    1.前言 上一篇博客解说了Hibernate中的一级缓存,属于Session级别的.这篇博客解说一下Hibernate中的事务机制. 有关事务的概念.请參照通俗易懂数据库中的事务.  2.怎样处理Hi ...

最新文章

  1. LSTM入门学习——结合《LSTM模型》文章看
  2. SSO单点登录之——JWT
  3. html第二章课后选择题答案,HTML课后习题(带答案).doc
  4. 12v小型电机型号大全_鄂破碎机型号大全图,小型鄂破碎机价格
  5. 1910101811
  6. Silverlight 3.0 RTW引入-- 鼠标滚动事件
  7. 如何隐藏电脑下方工具栏个别图标_最酷!最帅!最拽!这就是你想要的样子!工具栏美化终极篇...
  8. springcloud工作笔记097---idea集成Mapper接口点击后自动跳转到对应的xml文件中
  9. IDEA采用Debug模式无法启动项目,但是采用普通模式可以正常启动项目
  10. 读书笔记_打开量化投资的黑箱06
  11. 《Android游戏编程入门经典》——4.6节问与答
  12. CNN实现手写数字识别
  13. 基于校园图书管理系统需求分析
  14. 转发-分享手机游戏辅助编程开发教程
  15. 关于如何使用java,将Office文件转换成PDF格式
  16. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 敏捷测试管理软件
  17. IP地址、网络地址、网关的作用
  18. Android利用反射获取WLAN热点信息
  19. 鼠标滑轮只能控制声音?
  20. Unity基础开发之事件函数的执行顺序

热门文章

  1. Java实验13 银行账户存取款业务
  2. comsol中,查看材料库中材料参数的办法
  3. 网络协议——RPC协议
  4. js 时间间隔和时间暂停
  5. 解决ios上数字变成蓝色的问题
  6. Windows Server 2022 英文版、简体中文版下载 (updated Oct 2021)
  7. java程序员未来学习规划(欢迎各位大佬提建议)
  8. win7下安装虚拟机以及RedHat的安装
  9. Ad Click Prediction: a View from the Trenches 阅读
  10. 逻辑推理:王教授来自哪里(c语言代码实现)