拿个简单的例子做比较神秘是多对多,一个职员在公司有很多岗位,比如保安,保洁,一个岗位又对应很多人
看下我们的实体类吧
============================配置文件=============================
===================================测试代码=================================
package Many2many;
import java.util.Set;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import Bean.Rolm;
import Bean.User;
import common.HibernateUitels;
public class TestA {
@Test
public void testadd() {
Session session=HibernateUitels.opensession();
Transaction tx = session.beginTransaction();
User u1=new User();
u1.setName("11");
User u2=new User();
u2.setName("22");
Rolm r1=new Rolm();
r1.setName("bb");
Rolm r2=new Rolm();
r2.setName("bj");
u1.getRolms().add(r1);
u1.getRolms().add(r2);
u2.getRolms().add(r1);
u2.getRolms().add(r2);
r1.getUsers().add(u1);
r1.getUsers().add(u2);
r2.getUsers().add(u1);
r2.getUsers().add(u2);
session.save(u1);
session.save(u2);
session.save(r1);
session.save(r2);
tx.commit();
session.close();
}
@Test
//为用户设置职位
public void testss() {
Session session=HibernateUitels.opensession();
Transaction tx = session.beginTransaction();
User user =(User) session.get(User.class,3);
Rolm rolm=new Rolm();
rolm.setName("ngg");
user.getRolms().add(rolm);
session.save(rolm);
tx.commit();
session.close();
}
@Test
//为职员删除一个职位
public void delete() {
Session session=HibernateUitels.opensession();
Transaction tx = session.beginTransaction();
User user = session.get(User.class, 3);
Set<Rolm> rolms = user.getRolms();
Rolm rolm = session.get(Rolm.class,4);
rolms.remove(rolm);
tx.commit();
session.close();
}
}
如果你喜欢,或者有帮助到你的地方可以关注我的微信公众号,田园折耳,

5054

被折叠的 条评论
为什么被折叠?



