发表于: 2018-06-10 23:34:36

1 785


今天完成的事情:

1、昨天研究了下jpa的多对多查询

我想以json形式返回用户,并且返回用户的角色。

但是出了一个bug。


用户与角色是多对多关系,序列化的时候,用户与角色互相引用,形成了死循环,最后堆栈满了。

最后用@JsonIgnore解决了,中断序列进行就行。




Jpa的获得关联角色。只需要调用get方法就好了。


花了4个小时解决了这个问题。。太菜了。


2、删除用户的时候,把与用户关联的角色也给删了。

Jpa的级联操作。


CascadeType.REMOVE:
级联删除操作,删除当前实体时,与它有映射关系的实体也会跟着被删除。
CascadeType.MERGE:
级联更新(合并)操作,当Student中的数据改变,会相应地更新Course中的数据。
CascadeType.DETACH:
级联脱管/游离操作。如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它会撤销所有相关的外键关联。
CascadeType.REFRESH:
级联刷新操作。假设场景 有一个订单,订单里面关联了许多商品,这个订单可以被很多人操作,那么这个时候A对此订单和关联的商品进行了修改,与此同时,B也进行了相同的操作,但是B先一步比A保存了数据,那么当A保存数据的时候,就需要先刷新订单信息及关联的商品信息后,再将订单及商品保存。
A是怎么知道B对订单进行了操作?
CascadeType.ALL:
拥有以上所有级联操作权限。


CascadeType.ALL换掉,就好了


明天计划的事情:
遇到的问题:
收获:


返回列表 返回列表
评论

    分享到