急求高人救命,CMP啊CMP怎么办

05-02-06 beowulf
我有一张表,我需要一个find方法,来查找这张表中满足条件的,自某条记录起的若干条记录,

比如说我有一张books表,我需要查找按price递增排序后,第5条记录起的20条记录。

在BMP的方式下我很容易自己写一个find方法,

如下

public ejbFindList(int n, int m)//here n=5, m=20

...

int i;

String sql = "SELECT * FROM books ORDER BY PRICE";

PreparedStatement ps=connection.getPreparedStatement(sql);

ResultSet rs = ps.executeQuery();

for (i=0; i<n; i++) rs.next();

Vector list;

for (i=0; i<m; i++){

list.add(rs.getXXX());// XXX is primary key

}

...//close

return list;

但是现在使用CMP我怎样才能得到同样功能的一个方法呢?

这里一个前提是,我不希望容器将表中所有book纪录都提取出来,然后自己再筛选

因为表中的数据量非常大.

这样的方法在BMP下实现的很好,在CMP下有可能实现么?

beowulf
2005-02-06 02:32

public ejbFindList(int n, int m)//here n=5, m=20
...
int i;
String sql = "SELECT * FROM books ORDER BY PRICE";
PreparedStatement ps=connection.getPreparedStatement(sql);
ResultSet rs = ps.executeQuery();
for (i=0; i<n; i++) ps.next();
Vector list;
for (i=0; i<m; i++) list.add(rs.getXXX());// XXX is primary key
}
...//close
return list;
<p>

banq
2005-02-07 10:05
批量查找使用DAO+JDBC,不推荐使用带有事务的实体Bean: CMP or BMP

猜你喜欢