该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-31
robbin 写道 最佳的方式:第一次访问使用List,快速填充JCS,以后访问采用Iterator,充分利用JCS。 这不是太爽了! 怎么样才能实现这种功能呢?请robbin指点。 是不是我要写两个查询的方法。先判断cache里面有没有这个对象,有的话就用iterator的方法,没有就用list的方法。应该不是吧? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-04-08
如果数据库在list之后更新了,那jcs里就是脏数据了。不可靠。
|
|
返回顶楼 | |
发表时间:2004-04-08
这个jcs应该是hibernate的内部实现机制, 不用特意调用的吧
|
|
返回顶楼 | |
发表时间:2004-04-08
maohy 写道 robbin 写道 最佳的方式:第一次访问使用List,快速填充JCS,以后访问采用Iterator,充分利用JCS。 这不是太爽了! 怎么样才能实现这种功能呢?请robbin指点。 是不是我要写两个查询的方法。先判断cache里面有没有这个对象,有的话就用iterator的方法,没有就用list的方法。应该不是吧? 我的做法就是直接用iterator,反正第一次慢就慢点。就一次嘛。 |
|
返回顶楼 | |
发表时间:2004-04-14
jaqwolf 写道 我的做法就是直接用iterator,反正第一次慢就慢点。就一次嘛。
谢谢jaqwolf,这种方式我试过,应该是可以的。不过就是感觉有点土。:) |
|
返回顶楼 | |
发表时间:2004-04-26
public static List getAllNews{ DbSession dbSession = null; List list = null; String sql = "select ns from ns"; dbSession = Db.openSession();; Iterator iterator = dbSession.iterate(sql);; while (iterator.hasNext();); { News news = (News); iterator.next();; list.add(news);; } return list; } 这是我的使用方式,有点土,不知道有没有什么好的办法。请大虾看看。 |
|
返回顶楼 | |
发表时间:2004-06-10
我也用的是Iterator iterator = dbSession.iterate(sql);
ROBBIN说的我不明白 robbin 写道 最佳的方式:第一次访问使用List,快速填充JCS,以后访问采用Iterator,充分利用JCS。 这个怎么用啊,贴些代码出来看看阿 |
|
返回顶楼 | |
发表时间:2004-06-10
请教一个问题~~
如果使用Iterator iter =list.Iteraotr(), 采用 while(iter.hasNext()){ iter.next(); } 遍历一次之后, 如果再次使用Iterator iter =list.Iteraotr(), 则取不到数据~~ 按一般的理解,是不是因为iter到了尾部? 很多Collection类都是这样 比如Collection.Iterator() ArrayList.Iterator()什么的,都有类似问题? |
|
返回顶楼 | |
发表时间:2004-06-15
ayomimai 写道 如果数据库在list之后更新了,那jcs里就是脏数据了。不可靠。
我也怀疑它的可靠性。 按robbin说的JCS和DB的同步机制,这种情况是可能发生的。 |
|
返回顶楼 | |
发表时间:2004-06-22
nesta 写道 ayomimai 写道 如果数据库在list之后更新了,那jcs里就是脏数据了。不可靠。
我也怀疑它的可靠性。 按robbin说的JCS和DB的同步机制,这种情况是可能发生的。 jcs 既然是cache 机制,而且屏蔽细节,就一定有抛弃脏数据的机制。所以,如果数据被修改写回数据库的时候,应该有根据 id 进行 jcs 中的相应抛弃。 |
|
返回顶楼 | |