在 add 方法里,生成器生成的原始代码很简单
Json j = new Json();
try {
****Service.add(****Page);
j.setSuccess(true);
j.setMsg("添加成功!");
} catch (Exception e) {
j.setMsg("添加失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
}
writeJson(j);
而在 service里 也写得很简单
****Entity ****Entity = new ****Entity();
BeanUtils.copyProperties(****Page, ****Entity);
****EntityDao.save(****Entity);
这样写,对于String 和integer的属性而言,毫无压力
但是如果涉及到对象关联,我们就会在 ****Page 里声明对应的对象,然后进行关联
因此在保存的时候,根据双属性的对象映射下,只用作外键属性的字段是无法进行 insert操作的.
因此只能通过对象进行insert操作
所以,需要有专门的判断,如果设计为可空外键,前台没有约束的话,外键是可以为 null 值的
如果当外键写入出错的话,会出现
No row with the given identifier exists 异常
解决办法如下:
http://fengzhiyin.iteye.com/blog/227124
为了确保这样的异常产生,在系统内的判断是必须滴
而这个需要判断的属性是根据需要写入的外键来决定
ps:
直接使用代码生成的外键写入是绝对可行的
但是这样感觉不是很OO,感觉是面向数据库的一种POJO
个人觉得,不管是哪一种,如果需要拿到主表对应的外键表,始终是需要在某一个地方加入一段代码
OO的方式,可以直接使用对象关系来进行操作
而面向数据库的方式,则需要在需要的地方get一次
看个人爱好吧....
我觉得都可以