在many-to-many的双向关联中,两端<set>里的cascade和inverse改如何配置呢,是否两边的cascade都能设置为all?看到有个帖子说只能一端的inverse设置为false,另一端一定要为true,可设置为true的一端怎么去维护中间表呢?
解决方案 »
- 各位大侠,我用jqgrid作表格,数据用json格式,jqgrid怎么老显示loading
- JAVA WEB要学习哪些课程?
- springside的依赖注入
- 如何用jsp读取指定名称的cookie?
- 如何把左边的左边表格搞小一点,账号和密码的表格拉长一些呢
- 我一个长字符串,如果一行显示不下,会换行,我希望不要换行,有多长,只要移动横向滚动条即可
- 怎么用java往cd或vcd里写东西
- jdbcTemplate.queryForList查询后map key为大写的问题
- 请问我有一张图片,是个饼图,放在页面上,能否测到该图的圆心坐标和半径?
- 关于在javabean中执行sqlserver创建临时表的存储过程的问题?没有人遇到过吗?
- JVMDG217: Dump Handler is Processing Signal 4 - Please Wait.
- 求高手优化jquery代码
关于inverse,不能两边都设为true,其他搭配均可。inverse设为true的一端只能依靠另一端来维护中间表,但这种维护和程序怎么写并没有关系,只是Hibernate运作的内部动作不同而已。
Person Job 中间表person_job
1;黎明; 1;舞者; 1;1;1;
2;郭富城; 2;商人; 2;1;2;
3;刘德华; 3;演员; 3;2;2;
4;李白; 4;诗人; 4;2;3;
5;鲁迅; 5;作家; 5;3;1;
6;4;4;
7;5;5;
8;5;4;
比如我删了Person表中id=1的黎明,结果如下了:
Person Job person_job
4;李白; 4;诗人; 6;4;4;
5;鲁迅; 5;作家; 7;5;5;
8;5;4;
很纠结,不是要这效果啊,改如何设置呢?至于inverse是否两边都设置,我看到一位大神说:“为什么在多对多中不能由双方都来维护关系了:因为这样会导致重复更新中间表的可能,报出重复值的错误。”
谁能解释一下么,自己还不知道该如何去测试,先谢谢各位大神了
比如我删了Person表中id=1的黎明,把job中与之级联的“舞者”和“商人”也删除了,设置成“save-update”可以避免。
请问下,有什么好方法可以删除id=1的黎明时,删除perso_job中与“黎明”有关的关系值,不删除job中的值,当job中的值为孤儿节点时再删除它,这时候“save-update”就没这效果了?