有碰到过改变了一个持久化类的值但是没有主动更新到数据库结果hibernate自动把值更新到数据库了。看了网上的一些帖子和解答感觉语焉不详,说什么持久化类只要做了改变hibernate就会自动更新到数据库,照这个说法我们都不用手动去做update操作了?另外没有显式的update操作我怎么知道hibernate什么时候去更新呢?求高人解答,最好能有hibernate的官方说明或文档。
hibernate对你的持久化bean做了动态代理,也就是你hibernate映射文件,对应的bean对根据cglib生成的新字节码文件,
在你做set操作改变其值的时候,它会试图去更新数据库数据
是的,
隐式的修改:注解的实体和对象,修改了自动同步数据库(添加了对事物的支持)
显式的修改:就是比较传统的hql、sql这样的更新语句
建议使用显式的修改,比较明确