用对象的get方法获得属性,修改这个属性,但没用set赋值,为什么这个对象里
|
Gradeg=newGrade("二班","mysql基础班"); Sessionsession=HibernateUtil.getSession(); Transactiontransaction=session.beginTransaction(); Studentstudent=session.get(Student.class,1); Setstudents=g.getStudents(); students.add(student); System.out.println("长度是:"+g.getStudents().size()); session.save(g); transaction.commit(); HibernateUtil.closeSession(session);这段代码中,g是新建的对象,它有4个属性,构造方法赋了两个值,还有一个set集合的属性,这个set集合是空的吧,现在用get方法获得这个集合,并往里面添加一个对象,所以这个集合长度变为1了。但我并没有把这个集合set给g对象,所以g对象里面的set集合应该还是空的呀但我再get一次set集合,他的长度却是1????为什么?? |
免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
|
|
|
|
|
|
|
你的Grade类的代码是什么样的?
或者你在Gradeg=newGrade("二班","mysql基础班"); 这一行下面先打印下
System.out.println("长度是:"+g.getStudents().size()); 确认下是不是Grade类的students是不是空的。
按照上面你给的代码,Setstudents 这个引用并没有对Grade的实例g产生影响,理论上g.getStudents的大小不应该变化。 |
|
|
|
|
|
|
|