Hi Rahul,
It depends upon the architecture which one is implementing.If you want the services of transaction management, security, and connection pooling ,OR/mapping available then u go for entity beans wherein these features are provided by your application server, whereas if you want to only acess database tables where the data accessed is not tht frequent and u need not have to take care of synchronization issues u can use plain JDBC calls.
Mind you u can use JDBC with JTA to programm whatever the EJB container gives u..so the decision boils down to how complex and big is your transactions.
Rishi
SCJP,SCWCD