表达能力不是很好,说得通俗点(就拿一张表做例子,级联的时候一样的道理)...
Refresh的作用:假如有一个条数据(就有name[值为B]和sex[值为male]两个字段),A用户取出来在进行修改操作(修改name为A),正在A修改的过程中(未提交表单),B用户也对这条数据进行修改操作(修改sex为female),B先将性别修改后提交数据库...接着A用户也提交表单,但是,此时在entityManager中的持久化实体的性别为male,没有更新为B用户修改成的female,所以此时执行一次Refresh操作,就会将该实体更新为数据库中的最新记录,然后再进行提交..做级联的时候就会将关联的实体的也获取最新的然后在更新,前提是要执行Refresh操作,CasCadeType.Refresh才会生效
Merge的作用:你要先去了解持久化实体在entityManager中的几种状态,新建,游离,托管(不是脱管),删除状态,Merge对实体进行操作时,会区分这个实体的状态,假如这个实体处于托管状态,就应该使用merge,否则会报异常..同样,做级联的时候执行merge操作,CasCadeType.Merge也会对关联实体生效
凑合着看吧..呵呵
你好!
hibernate对jpa的实现
Refresh对应的是Hibernate的flush()方法
Merge级对应的是Hibernate的update()方法
就是flush和update的区别
如有疑问,请追问。
除了文字区别外,实在没大的不同
因为中文是从sun那得技术文档翻译过来的,目前也没有标准
所以就当一码事就可以了
不要吹毛求疵
关注中!!~~~~~~~
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....