2 u011558902 u011558902 于 2013.07.31 09:55 提问

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);
在这两句发现空指针问题,怎么回事啊

3个回答

u011487311
u011487311   2013.08.01 12:42
已采纳

制定关系的时候有错:
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);

u011434755
u011434755   2013.07.31 16:51

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

lb201155080209
lb201155080209   2013.08.06 17:01

应该先把user先save,再save你的group

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!