hibernate一对多时,为什么在一那方设置关联多那方是老是报空指针的错误啊

@Test
public void test2(){
User1 u=new User1();
u.setName("u1");
User1 u1=new User1();
u1.setName("u2");
group1 g=new group1();
g.setName("g1");
g.getUser().add(u);
g.getUser().add(u1);
u.setGrp(g);
u1.setGrp(g);
Session s=sessionFactory.getCurrentSession();
s.beginTransaction();
s.save(g);
s.getTransaction().commit();
System.out.print("nihao");
}

经过测试总是g.getUser().add(u);
g.getUser().add(u1);
在这两句发现空指针问题,怎么回事啊


元芳怎么了
浏览 594回答 3
3回答

德玛西亚99

制定关系的时候有错:g.getUser().add(u);g.getUser().add(u1);u.setGrp(g);u1.setGrp(g);上面的代码顺序应该是:u.setGrp(g);u1.setGrp(g);g.getUser().add(u);g.getUser().add(u1);

拉莫斯之舞

group1类里面 的user是不是没有设置值啊。如果没有设值就会报空指针异常。null.*这种形式的都会报空指针异常。

万千封印

应该先把user先save,再save你的group
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java