相信不少兄弟在写一个Pojo的时候,都会先写上一些属性(如:private String name;),再利用IDE(Integrated development envoriement,集成开发工具)生成一组组默认的setters和getters,然后完事大吉!诚然,这对于一些简单的Pojo也许就够了;但是,对于一些复杂的Pojo,尤其是有众多关联关系的Pojo,我们最好在其setters和getters里完成其属性变量(实例变量)的初始化!
代码
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 这样对User和City的关系就清楚了,这样,我们在spring+hibernate的环境下,saveOrUpdate User这个对象时,如果用户没有填选city这一项,则会发生错误:saveOrUpdate异常,object references a transit object com.davy.test.City,please save the transit object first!这是说保存User时发现User关联着一个临时的City对象(id为0,因为是spring注入进来的,而且用户没选城市),必须先保存city!
public
void
setCity(City city)
{ if (city != null && city.getId() > 0 ) { this .city = city; } else { this .city = null ; } }
|
让Pojo的setters和getters做些该做的事情--初始化!
最新推荐文章于 2022-09-17 03:25:09 发布