当存在外键依赖时,删除主表记录,要求重表的记录不删除 具体的需求是这样的,我想删除公司的员工,但是不想删除和员工关联的历史信息,比如这个员工在公司都干过什么。我的方案是在数据库表设计的时候,可以增加一个删除标识字段,或是设置员工的失效期。在数据的持久化层我采用hibernate来实现,当删除数据的时候,是发update语句,但是hibernate自动生成的update语句一改所有的字段都跟着修改,有点影响效率,请问有什么别的方案,或是优化hibernate查询吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主表的 hbm.xml 配置文件中 inverse 改为 false ,当删除的时候 会自动把从表的主键列改为null <set name="answers" inverse="false" > <key> <column name="qid" length="50" /> </key> <one-to-many class="com.wq.domain.Answer" /> </set> 将cascade改为save-update就可以了 存在外键依赖,改cascade有什么用啊 可以把状态单独放到一个状态表中,你用hibernate更新的时候只更新状态表就可以了。 将数据库中的外键关联的cascade on delete去掉 那每次查询的时候都要进行表接啊,hibernate能不能只改一个字段 关于付款的流程问题 请教一下,JSP页面提交按钮的问题 weblogic 10.3 怎样配置数据源?求教、谢谢 如何搭建Track+的运行环境 将日期,时间入库 window.dialogArguments.location.reload() IE7下无效 log4j的问题:我现在的环境连用到的第三方lib的debug信息都用Log4就打出来了,如何屏蔽? 是不是java,jdbc不可能向mysql数据库储存二进制文件? 一个简单的数制问题? 谁有用JAVA开发socket程序的例子? 不同参数大量调用同一函数如何执行 想找个开源框架学习!请熟悉的朋友帮忙介绍下
<set name="answers" inverse="false" >
<key>
<column name="qid" length="50" />
</key>
<one-to-many class="com.wq.domain.Answer" />
</set>
那每次查询的时候都要进行表接啊,hibernate能不能只改一个字段