没问题,不过要注意自己的finder方法的条件,绝对不能一次返回太多的对象

解决方案 »

  1.   

    查询对数据库的负担太重了,充分利用数据库的优化(适当的索引),同时保证不要一次query太多的东西。可以考虑利用某些O/R Mapping工具,如果不怕麻烦,就是Entity Bean来做数据的Persistence,这样会提高性能。
      

  2.   

    不在于数据量的大小,在于查询数据的多少,但是对于大数据量,尤其要注意索引的使用,不然根本不会成功。CMP对于查询效率有影响,举个例子:假如通过CMP查询50万条记录,并创建50万个对象,其实数据库会查询两次:第一次,根据条件查询出50万条记录,第二次根据50万条记录的唯一值的主键再逐行查询一次数据库用以创建BEAN,也就是总共查询的次数为:RecordAccount + 1次,即 50万 + 1次,可想而知,如果查询2000万记录其查询要多少次。当然,这种算法和EJB CONTAINER实现相关,我只是举了一个普遍的算法。
      

  3.   

    大数据量查询如果直接调用数据库,和数据库服务器建立连接很耗费资源,而且容易出现超时错误.如果用cmp花费的代价是同样的,而且站用内存空间.我问过类似的问题,最后我的解决办法是在存储过程里做了一个算法查询,返回结果集.
      

  4.   

    创建CMP对任何表应该都是可以的。只是应该注意性能问题,CMP的批量查询确实性能较低,而且,功能还不全。所以我一般用CMP作写操作,查询多用JDO.至于“大数据量查询如果直接调用数据库,和数据库服务器建立连接很耗费资源,",有连接池呢!
      

  5.   

    我认为你还是用BMP吧,因为在BMP了可以自己定义查询,而且在你的SQLSERVER里可以定义过程,
    视图,可以减少查询的开销!