hibernate是如何知道已更新数据的 那种基于主键id的我知道。如果是一对多的,从多的list里删除一个元素,hibernate是如何知道删除的是哪个的呢?难道此时的list是hibernate自己定义的特殊List子类?另外如果关联的一个元素里的某个字段修改了,他是如何知道是哪个元素发生变化了呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 它当然不知道了,因为不管你改没改,它反正每个字段都会重新 SET 一遍 你说的我知道,这是针对一个对象的字段。我说的事如果对象A包含关联属性B 的list,从list里remove一个对象,最后B相对A的关联就会少一个的(当然此时A是持久太)。 还真不知道hibernate是怎么处理的,你可以考虑下你遇到这个问题会怎么处理呢!你可以去找找hibernate的源码看看 这时应该看那方是主控方,那方是被控方. inverse属性决定。如果没有设置,它是不会有反应的 这可能是hibernate的三种状态的原因吧!hibernate有三种状态,瞬时,持久,游离。当你在事务中操作查询出了数据库中的数据,那么现在就是持久状态,集合中的数据和数据库中的数据是一一对应的!所以只要你对查出来的数据增删改查,改变了它,所以同样会影响到数据库中! 我貌似知道原因了,估计是session缓存的原因吧(一级缓存),持久态对象本身和session关联,因此持久态更新时会和缓存中的比较吧。 也可以这么说吧,只要session缓存中有一个对象,或一个集合与数据库的对象或者集合数据一一对应,就是持久状态,所以哪边改动,另一边跟着改! oracle中的数据是顺序插入的么 Weblogic Server 8.1 Request 重复提交的问题。 如何从头学标签语言 关于spring的一点问题,请高手帮忙解决 tomcate报错,很郁闷的问题 在 深 圳 计 算 机 行 业 协 会 培训JAVA的请进来!!! 问题求助 紧急 求助,n天没解决:lomboz 启动tomcat后,访问时抛出异常........ J2EE新手的初级问题,望各位指教 三层中数据返回的问题 HttpURLConnection 传参问题 java 怎么调用到条码打印机!
你可以去找找hibernate的源码看看
hibernate有三种状态,瞬时,持久,游离。
当你在事务中操作查询出了数据库中的数据,那么现在就是持久状态,集合中的数据和数据库中的数据是一一对应的!所以只要你对查出来的数据增删改查,改变了它,所以同样会影响到数据库中!