ManytOone的级联保存

(1)在many方(如user)添加指向one方(如group)的引用即在user类中增加“ private Group group;”,并生成geter和seter。
(2)在geter上添加注解@ManyToOne、@JoinColumn(name="groupId")其中groupId表示生成表的外键名。
(3)编写测试程序
1)得到Configuration,生成SchemaExport ,在数据库中建立表(如果已存在,立即删除)
2)新建Group对象和多个user对象,并设置user对象的group属性。
3)得到Session,开启事物,保存user对象,则对应的group对象也会自动保存到表中。

2.one2many的级联保存
(1)在one方(如Group)添加一个集合(如Set<User>)
【注意】一定要用new创建集合
private Set<User> users=new HashSet<User>();
(2)生成getter和setter
(3)在getter上添加注解
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="groupId")
(4)编写测试程序
User u1=new User();
u1.setName("张三");
User u2=new User();
u2.setName("李四");
Group g=new Group();
g.setName("管理员组");
g.getUsers().add(u1);
g.getUsers().add(u2);
session.save(g); //保存group,自动保存对应的users

posted on 2016-06-30 18:00  竹山新雨后  阅读(372)  评论(0编辑  收藏  举报

导航