网上看了说,在多对一关系中,在多的一方的映射文件中的many-to-one上设置cascade=“all”可以在保存一个子类对象时,自动级联保存子类对象中的父类对象至数据库,而不用显示地保存或更新父类对象,
可是我自己试验了,发现如果这个子类对象中的父类对象的是新建的,与数据库没有对应,会报外键异常,如果与数据库是对应的,会执行更新操作,,,
这让我很迷惑,这级联到底是怎么弄的,自己试验可以自动更新,却不能自动保存,而这个列子说可以自动保存???
希望来个明白人帮我摆脱思想的泥潭,太痛苦了!!!
元素的cascade属性表明操作是否从父对象级联到被关联的对象, 它的取得可以是以下几种:
none:在保存,删除或修改当前对象时,不对其附属对象(关联对象)进行级联操作,它是默认值。
save-update:在保存,更新当前对象时,级联保存,更新附属对象(临时对象、游离对象)。
delete:在删除当前对象时,级联删除附属对象。
all:所有情况下均进行级联操作,即包含save-update和delete操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。