//给定 一对多的bean 并且更新方式为全部 @OneToMany(targetEntity=UrlAuthorityInfo.class,cascade=CascadeType.ALL) //关联ID配置 //UrlAuthorityInfo的urlId 对应 @JoinColumn(name="urlId",referencedColumnName ="id") private List<UrlAuthorityInfo> auth; /** * cascade表示级联操作,CascadeType.all是全部,一般用CascadeType.MERGE 更新,CascadeType.persist表示持久化即新增 * 此类是维护关系的类,删除它,可以删除对应的外键,但是如果需要删除对应的权限就需要CascadeType.all * cascade:作用在本放,对于删除或其他操作本方时,对标注连接方的影响!和数据库一样!! */ 属性1: mappedBy="permissions" 表示,当前类不维护状态,属性值其实是本类在被标注的链接属性上的链接属性,此案例的本类时Permission,连接属性是roles,连接属性的类的连接属性是permissions 属性2: fetch = FetchType.LAZY 表示是不是懒加载,默认是,可以设置成FetchType.EAGER 属性3:cascade=CascadeType.ALL 表示当前类操作时,被标注的连接属性如何级联,比如班级和学生是1对多关系,cascade标注在班级类中,那么执行班级的save操作的时候(班级.学生s.add(学生)),能级联保存学生,否则报错,需要先save学生,变成持久化对象,在班级.学生s.add(学生) 注意:只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性; CascadeType.PERSIST (级联新建)只删除当前 不删除映射 CascadeType.REMOVE (级联删除) CascadeType.REFRESH (级联刷新) CascadeType.MERGE (级联更新)中选择一个或多个。 还有一个选择是使用CascadeType.ALL ,表示选择全部四项 //url 权限 /** * cascade表示级联操作,CascadeType.all是全部, * 一般用CascadeType.MERGE 更新, * CascadeType.persist表示持久化即新增 * 此类是维护关系的类,删除它,可以删除对应的外键,但是如果需要删除对应的权限就需要CascadeType.all * cascade:作用在本放,对于删除或其他操作本方时,对标注连接方的影响!和数据库一样!! * id为当前bean id */ @OneToMany(targetEntity=UrlAuthorityInfo.class,fetch=FetchType.LAZY,cascade=CascadeType.ALL) @JoinColumn(name="urlId",referencedColumnName ="id") private List<UrlAuthorityInfo> auth; //一对一 拿urlId查找UrlInfo里的内容,urlId对应 urlInfo的id @Entity @Table(name="user_authority") public class UserAuthorityInfo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column(length=11) private Integer userId; //urlid @Column(length=11) private Integer urlId; //url的权限 @Column(length=500) private String auth; //权限名称 @Column(length=500) private String authName; //一对一 urlId与JoinColumn的id共存(主健),在后面加上insertable=false, updatable=false, //否则报错insertable=false, updatable=false @OneToOne(targetEntity=UrlInfo.class,cascade=CascadeType.REMOVE) @JoinColumn(name="urlId",insertable=false, updatable=false,referencedColumnName ="id") private UrlInfo urlInfo;
关注"都市百货" 了解南陵
微信咨询wanglf2r(不拉群 发广告者勿加)
热门评论