请教红薯大哥POJO的设计问题

UlricQin 发布于 2011/05/01 16:06
阅读 433
收藏 1

红薯大哥,您好:

小弟大三,从大一开始学的java,但一直深入不下去,看了您公布的OSC的源码真的是受益匪浅啊。有个问题想请教一下,请不吝赐教(问题可能菜了点,请不要见怪):

1、在您的POJO基类中有几个protected方法,设计用意是为了让子类自己控制自己到底是否缓存是吗?

2、POJO中没有提供Update方法,是因为更新哪些字段父类并不知道所以不好抽取公共方法?所有字段都更新又有点浪费?

3、您的save方法:

public long Save() {

if(getId() > 0)

_InsertObject(this);

else

setId(_InsertObject(this));

if(this.IsObjectCachedByID())

CacheManager.evict(CacheRegion(), OBJ_COUNT_CACHE_KEY);

return getId();

}

您的ID是auto_increment的还是自己控制的?看不出来为什么这么设计。。。if(getId() > 0)是不是代表数据库中已经有这条记录了?那为什么还_InsertObject(this);

4、domain都应该是prototype的,但是User.INSTANCE.CacheRegion();因为您所有的类都是继承自POJO的,是不是说,INSTANCE是static的,与对象状态无关的可以这样调用,与状态有关的就不能这么调了?

 

不好意思红薯大哥,您今天感冒了还问您问题,不过看不明白心里不爽啊,帮帮小弟吧,谢谢

加载中
0
红薯
红薯

1. 是的

2. 这个Update不太好写,所以让子类执行摆平

3. id 几乎都是自增长的,但有时候不想自增长,就可以设置 id 来控制要插入的 id 值,父类不管数据库存不存在

4. 目前这种静态和动态的混合处理方法,我是很不满意的,但暂时先这样处理,毕竟业务功能更为重要

0
UlricQin
UlricQin

引用来自#2楼“红薯”的帖子

1. 是的

2. 这个Update不太好写,所以让子类执行摆平

3. id 几乎都是自增长的,但有时候不想自增长,就可以设置 id 来控制要插入的 id 值,父类不管数据库存不存在

4. 目前这种静态和动态的混合处理方法,我是很不满意的,但暂时先这样处理,毕竟业务功能更为重要

嗯嗯,谢谢~看来我理解的基本是对的,嘿~

返回顶部
顶部