Silverlight RIA Servcie 删除子对象实体提交错误的问题 下面实体结构 查询出自对象实体方法 修改mataclass类添加[Include]特性 修改domainservice...查询,添加Include方法 Binding页面的操作,删除表体记录后提交保存会报异常 异常如下 这个问题困然我很久,新增表体记录,修改都不会有异常,唯有删除记录的时候报错。...报错的原因是说提交的保存的实体中有错误。一开以为我的删掉了,怎么还会有错误呢,Google了半天找到了一些问题但都没有具体说明,也可能是我理解的问题。...后来自己摸索,调试,发现虽然程序把子对象实体删除了,类似一下代码。...知道了问题,下面就是解决方法是,把有错误的实体再removed然后提交保存。 问题解决了。
by进行排序的 13. persist和save的区别 persist不保证立即执行,可能要等到flush;persist不更新缓存; 14. cascade,即对住对象的更新怎么影响到子对象...; save-update: 级联保存(load以后如果子对象发生了更新,也会级联更新)....但它不会级联删除 delete: 级联删除, 但不具备级联保存和更新 all-delete-orphan: 在解除父子关系时,自动删除不属于父对象的子对象, 也支持级联删除和级联保存更新. all: 级联删除..., 级联更新,但解除父子关系时不会自动删除子对象. delete-orphan:删除所有和当前对象解除关联关系的对象 15. fetch 抓取策略,在配置文件的Set标签配置 join : 左外链接...select : 默认select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象,形成n+1次查询; subselece : 子查询
对于单向一对多映射,Hibernate会建立一个映射表,比如这里就会建立一个article_comment表,表的内容就是两张表的主键。orphanRemoval指定当出现孤立数据时是否删除孤立数据。...cascade指定了级联操作的类型,这里使用ALL允许所有操作。指定了ALL之后,我们就可以通过直接在Article类中添加评论,级联地更新comment表。...单向的一对多映射并不高效,如果删除了某文章的某评论,Hibernate进行的操作是这样:首先删除关联表中该文章关联的所有评论,然后再将其他评论添加回关联表中,最后,根据orphanRemoval决定是否删除评论表中孤立的评论...另外需要注意的是,使用多对多映射时,不能把级联属性指定为CascadeType.DELETE或者CascadeType.ALL,我们应该不希望在删除一篇文章的标签时,同时将该标签下的所有文章都删除吧?...另外Hibernate的多对多映射存在一个问题,就是和单向一对多一样,删除一个关联,需要先删除所有关联,然后将其他的重新插入。
它是我们启动子进程时,控制子进程启动方式的参数。...这三个参数似乎就点中了标题中的两个关键字“标准输出”、“标准错误输出”。是的!我们正是靠这几个参数来解决我们所遇到的问题。那么如何使用这些参数呢? 我们选用的还是老方法——管道。...我们之后将hWrite交给我们创建的子进程,让它去将信息写入管道。而我们父进程,则使用hRead去读取子进程写入管道的内容。...设置标准输出和标准错误输出句柄 si.hStdError = hWrite; // 把创建进程的标准错误输出重定向到管道输入 si.hStdOutput = hWrite...我们使用STARTF_USESTDHANDLES的原因是:我们使用了标准输出和标准错误输出句柄。
本篇主要介绍的关联映射就是针对有着某种关联的多张表的各种操作,主要涉及内容如下: 组合主键的映射 组件的映射 单向多对一的映射 单向一对多的映射 双向一对多的映射 级联映射 一、组合主键的映射操作 ...然后我们删除表,重新看看这次Hibernate为我们生成的表结构: ? 显然结果是一样的,我们使用组件映射的一个好处就在于在这个实体类中,对于数据表结构显得非常清晰,代码的封装性更好,方便查错。...四、单向一对多的映射 单向many-to-one关联是最常见的单向关联关系,其逻辑也趋近与我们的Sql语言,还算比较好理解。...但是我们配置了级联就不一样了,Hibernate会先保存grade到数据库中,然后再插入student这条记录。从Hibernate的输出日志中也可以看出来: ?...,save-update 表示保存和修改操作进行级联,delete表示删除的时候级联删除。
四丶级联操作 级联操作分为:级联保存,级联删除,级联更新...... 如果现在有部门表和员工表,两个表之间是关联的。...删除,更新同理。...--在“一”Department的配置文件set标签内添加cascade(我这里填的是all表示所有级联操作,包含保存和删除等等)--> <set name="employees" cascade...“多”的实体类,我们之前单向关联的时候Employee实体类里面没有dept(部门)字段,数据库中生成的dept是由Hibernate根据Department的映射文件来生成的dept字段。...双向关联,双方都可以维护关联关系 到这儿我们的关联关系映射就结束了,当然我们Hibernate的只是还没学完,未完待续. 如果错误,不吝赐教。
Hibernate关联映射-一对多 5.1. 实体类创建 5.2. Hbm映射文件编写 5.3. 测试保存 5.4. 测试单向关联保存 5.5. 双向关联维护 5.6. 对象导航 5.7....级联删除 5.8. cascade总结 提示:点击下面的“阅读原文”可以查看更多笔记 1....测试单向关联保存 ?...级联删除 我们在删除客户时,也要删除订单,如果没有做级联,那么这个操作是不允许。 为了维护数据完整性 ? 想要完成操作:我们可以在客户中添加cascade=”delete”; ?...完成操作,级联保存临时对象,如果是游离对象,会执行update. delete 级联删除 delete-ophan 删除与当前对象解除关系的对象。
内容较多,这里主要关注的点就是删除按钮还有给父组件传值的方法。 删除 是删除按钮。...$emit("remove_father"); 是用来给父组件传值的,remove_father 是父组件的方法名。...this.album.splice("", 1); } }, data(){ return{ album: [] } } }; 子组件父组件传值...子组件通过 this.$emit("remove_father", this.index); 向父组件传值。...$emit("remove_father", this.index); } } }; 父组件这里通过子组件定义的属性给子组件传值。
级联删除也是有方向性的. * 删除客户的时候,级联删除订单....@Test /** * 级联删除: * * 删除客户,级联订单 * * 在Customer.hbm.xml中配置上cascade="delete" */ publicvoid demo7(){...; tx.commit(); session.close(); } * 删除订单的时候,级联删除客户....孤儿删除:只能在一对多的情况下使用.认为一对多的一的一方是父方.多的一方子方. * 孤儿删除指的是删除子的一方没有外键值得那些数据....: @Test /** * 级联删除: * * 删除学生级联课程. */ publicvoid demo4(){ Session session = HibernateUtils.openSession
然后action处理完不要转到 jsp,只需要返回“alert('xxxxxx')"或者自定义函数,使得在iframe中控制父页面执行某些动作。 我做文件管理器就是这样做的。...问题:数据库没有设置级联删除,Hibernate删除“一那方”的时候,会不会删除“多的那方”? 答案:如果按默认配置是不会的。需要在hbm文件中配置cascade规则。...参考:http://www.blogjava.net/zhyiwww/archive/2006/04/06/39576.html 但这样其实也不方便,还不如直接到数据库里边设置级联删除。...所以我们做法是:Hibernate里就不设置级联的配置,基本一旦有外键就无法删除,需要手工去删除多的一方(这样一般来说也符合业务要求)。...如果真需要(例如删除用户,就删除UserToRole和LoginLog),所以就到数据库设置级联删除。 问题:spring启动的线程,或者普通的java类中怎么获取web目录?
中可以只进行单向配置。 ... 的 cascade 属性为: delete 级联删除。 ... 属性为: delete 级联删除。 ...1表(主表)可以称为父表,多表(从表)称为子表。 总结: 主表不能删除从表已经引用(关联)的数据。 从表不能添加主表不存在的数据。...中可以只进行单向配置。
最近学习hibernate注解形式配置POJO类,将注解的解析记下来,以备以后使用。 例1....上例 Customer 通过 CUST_ID 列和 Ticket 建立了单向关联关系。...上例子中 Trainer 通过TrainedMonkeys表和Monkey建立了单向关联关系。...,如果中间表存在些纪录的关联信息,则会删除该关联信息; // 关系被维护端删除时,如果中间表存在些纪录的关联信息,则会删除失败 ....CascadeType.REMOVE: cascades the remove operation to associated entities if delete() is called 当 delete() 函数被调用时,触发级联删除
/> 操作: inverse:本方是否要放弃维护外键关系(默认值是false) cascade:是否需要级联操作...(有5个值)(没有默认值) save-update 级联保存和级联修改 delete 级联删除 delete-orphan... 孤儿删除 all save-update + delete all-delete-orphan save-update + delete...select语句查询集合内容 join 使用表连接语句查询集合 subselect 同时加载多个对象的集合时,使用子查询语句...使用subselect,除了在加载多个集合时使用子查询语句外,其他同select。
l 级联删除: n 删除一边的时候,同时将另一方的数据也一并删除。...l 删除客户级联删除联系人 @Test /** * 级联删除: * * 删除客户级联删除联系人,删除的主体是客户,需要在Customer.hbm.xml中配置 * *<set...(customer); tx.commit(); } l 删除联系人级联删除客户(基本不用) @Test /** * 级联删除: * * 删除联系人级联删除客户...(基本用不上) l 删除用户级联删除角色 /** * 多对多的级联删除: * * 删除用户级联删除角色 * * 在User.hbm.xml中的set上配置 cascade=.../** * 多对多的级联删除: * * 删除角色级联删除用户 * * 在Role.hbm.xml中的set上配置 cascade="delete" */ @Test
1.3 Hibernate Hibernate 框架可以将应用中的数据模型对象映射到关系数据库表的技术。 JPA 是规范,而Hibernate是JPA的一种实现框架。...它的 JPA 实现层就是采用 Hibernate 框架实现的。 ?...如何在 Spring Boot 中 读写数据 cascade 属性用于指定级联策略: 策略 | 说明 --- | --- CascadeType.PERSIST | 级联持久化;保存父实体时,也会同时保存子实体...CascadeType.MERGE | 级联合并;修改了子实体,保存父实体时也会同时保存子实体(常用)。 CascadeType.REMOVE | 级联删除;删除父实体时,会级联删除关联的子实体。...CascadeType.REFRESH | 级联刷新;获取父实体的同时也会重新获取最新的子实体。
泛化(继承) 泛化(继承)包括子类和父类,子接口和父接口之间的两种泛化(继承)关系。...2.1 代码中的体现:使用extend关键字 // 子类与父类为 interface 则表示子接口和父接口之间的泛化(继承)关系 public class Person { } class Student...关联可以是双向,也可以是单向的。两个类之前是一个层次,不存在部分和整体之间的关系。...整体和个体不能独立存在,一定是在一个模块中同时管理整体和个体,生命周期必须相同(级联)。...6.1 代码中的体现:A的成员变量包含B(整体和部分不可拆分,即整体与部分同生共死) public class Computer { //创建鼠标对象,当电脑对象删除的时候该鼠标对象也将被删除
CascadeType.MERGE 该级联是级联更新 CascadeType.REMOVE 该级联是级联删除 CascadeType.REFRESH 该级联是级联刷新(不常用) CascadeType.DETACH...该级联是级联托管(不常用) CascadeType.ALL 具有上述五个级联的功能 下面我们用实例来说明上述的常用级联(保存,更新,删除)的使用情况: 以下展示的案例代码均在 https://github.com...删除学生,把老师也删除了 学生的关键代码如下所示: //设置级联删除操作,这是多对对的级联删除, // 删除学生的同时会删除关联的老师,如果老师还有关联其他的学生,就会报错,除非老师类也要级联删除...如果老师那里也配置了级联删除,删除老师的同时,老师的关联学生都会连带删除。 如果不清楚级联删除的功能,可能会造成很严重的后果,建议读者一定反复测试该案例弄清楚级联删除的使用。...在使用该属性的时候,也就是该属性设置成 true 的时候一定要慎重,从上面的例子可以看出来,当我在删除教室的时候,教室里的学生也都被删除了,该属性会有一个级联的效果。
请求地址http://localhost:8080/oneToOne 返回 查看控制台 我们可以看到 同时删除了两张表,这就是级联删除 如果id不存在 会直接报错 org.springframework.dao.EmptyResultDataAccessException...测试几种级联操作 级联操作 @OneToMany有一个属性是cascade jpa的级联类型(Cascade Types)包括: ALL 全部 包含下面所有的信息 PERSIST(当父需要保存时,子也会默认保存...,删除的时候 删除父也不行 不会执行delete) MERGE(当父对象更新,更新操作会传递到子对象) { "id":1, "username":"", "password":...(自动刷新) 官方翻译使用了CascadeType.REFRESH后,会级联的获取子对象在数据库的信息。...DETACH 如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它会撤销所有相关的外键关联。
Hibernate关联关系 1.1. 一对一 1.1.1. 背景 1.1.2. 准备 1.1.3. 单向外键关联 1.1.3.1. 通过丈夫访问妻子 1.1.3.2....但是在后面讲到级联操作,那么就可以直接保存husband对象便可以一起保存了wife对象数据到数据库中 import org.hibernate.Session; import org.hibernate.Transaction...=null) { session.close(); } } } /** * 测试删除wife表中的数据 * 原理: 如果设置了外键关联,那么我们想要删除wife的数据,必须先要删除其中与之外键关联的丈夫的信息...先删除对应的丈夫的数据 * 2....: 在删除的One的一方的时候,一定要确保Many的一方没有与其外键关联,否则将会删除失败,除非设置了级联删除,那么会连同外键关联的数据一起删除(以后再讲) @Test public void TestGet
方法完成最终校验 对当前分组的级联属性完成校验 小结 常用约束注解解释 Hibernate Validation扩展的注解 参考 ---- 分组校验 @Getter @Setter @ToString...拿到本类自己和所有父类后,统一交给provider.getBeanConfiguration( clazz )处理(也就是说任何一个类都会把Object类处理一遍) ---- retrieveBeanConfiguration...(Class beanClass) { // 它检索的范围是:clazz.getDeclaredFields() 什么意思:就是搜集到本类所有的字段 包括private等等 但是不包括父类的所有字段...validateConstraints方法完成最终校验 这里目前只涉及到单个约束进行校验,还没有涉及到复合校验,因此constraintTree的具体实现是: SimpleConstraintTree 首先是父类...若添加了此注解,那错误消息以它标注的本注解的message为准 所有没有特殊说明的:null is valid。
领取专属 10元无门槛券
手把手带您无忧上云