Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample
来源:互联网 发布:js 扩展window对象 编辑:程序博客网 时间:2024/06/05 01:10
本文地址: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; } }
0 0
- Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample
- Hibernate状态 (merge,attachDirty,attachClean)
- hibernate中merge()、attachDirty()、attachClean()
- Hibernate状态 (merge,attachDirty,attachClean)
- Hibernate状态 (merge,attachDirty,attachClean)
- Hibernate状态 (merge,attachDirty,attachClean
- Hibernate状态 (merge,attachDirty,attachClean
- Hibernate状态 (merge,attachDirty,attachClean)
- Hibernate状态 (merge,attachDirty,attachClean)解析
- merge,attachDirty,attachClean
- merge,attachDirty,attachClean
- merge attachDirty attachClean用法
- merge attachDirty attachClean用法.
- merge attachDirty attachClean用法
- hibernate自动生成的DAO类中的merge() attachDirty() attachClean()方法简单介绍
- IDE自动生成merge,attachDirty,attachClean作用
- 关于Hibernate的merge() attachDirty() attachClean()三种方法比较使用
- Hibernate中的DAO操作的findByExample
- 使用lldb 和debugsever 调试程序
- 磁盘相关装载记录
- iptables常用shell模板配置
- mongodb3.0副本集配置
- spring源码剖析(六)AOP实现原理剖析
- Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample
- iOS之超时页面处理
- 怎么让局域网访问你的电脑上的网站?
- 06-图1 列出连通集 (25分)
- java LinkedList实现原理概述
- js keyup、keypress和keydown事件 详解
- 简单排序算法
- J-Children of the Candy Corn|BFS+DFS
- mysql 日期格式都是带百分号的,======如下