为什么要使用EJB,如何使用它?

一个WEB项目使用STRUCTS和JBOSS还有ORACLE,EJB主要使用STATEFUL SESSION BEAN,STRUCTS是个非常好的标签库,但STATEFUL SESSION BEAN对ORACLE的操作显得非常低能,效率不高,请问斑主及各位高人,你们在操作数据库时通常把SQL代码放哪里,实体BEAN如何使用,因为必须对多表查询,希望有一个好的程序结构又不要损失效率.以前我用ASP写程序,虽然乱了点,可写程序的速度和运行速度都不慢.JSP据说是编译过的代码,好象很慢.

使用实体bean中的CMP 不需要写SQL语句,非常方便,效率也高。

jsp第一次执行较慢,以后就快,Jsp要比Asp快多,并且不是一个体系层次上的,.net是和j2ee一个层次的

谢谢板桥.
我只是不清楚如何使用实体BEAN进行多表查询和修改,因为实体BEAN好象是对应一张表设计的.而我的项目里都是用SESSION
BEAN,而且SQL是自动生成的,但有一个问题,比如我想得到一张表的一系列记录,按最直接的做法,应该是(是伪码)
set recordset=stament.executeQuery("select a,b ...from table x where ...)
while(recordset.next())
display the records
wend
如果按对象化的做法,至少在我的项目里是这样:
set list=covert to list("select a,b ..from xxx where ...)
the list now contain a lot primary keys of the records.

for everything in the list{
set record=select a,b ....from xxx where id=primarykey;
display the record
}

前面我只需要查询一次数据库,后面要N次,我觉的这样效率真是低.想使用实体BEAN,又觉得它很不灵活,请教您这方面的经验.谢谢.

我有三张有关系的表,a,b,c,我要用一定的条件查询记录,还要实现添加修改,如何用实体BEAN来实现?按以前的做法我可以使用存储过程.

你后面的做法还是BMP的做法。
使用CMP是个趋势,而且很方便,不需要涉及SQL语句。只有EJB-QL

你后面一个提问,我会在有时间情况下,写个如何用CMP完成三张表的插入修改和删除,你可以先看看英文资料

Give me a link please.
Thanks.

调用CMP的call back提供的home.create or home.remove 来插入或删除数据库中的记录,直接setXXX就可以自动update数据库中的这个XXX记录。