there's nothing in the EJB model that says that you can't put business logic inside Entity Beans.
In fact a good system design will put 'application-agnostic' business logic inside your entity beans, treating them as first class business objects. By 'application-agnostic' business logic, i mean all of the business logic that is not application-specific, but rather is generic business logic specific to the entity. For instance, if you have a BankAccount entity bean,
you should have your calculateInterest() method on this entity bean (not on some session bean), so that the interest calculation business logic can be re-used by multiple banking applications that want to use that particular entity.
If you design your system this way, with entity beans containing re-usable, 'application-generic' business logic, and session beans containing only application-specific business logic, you'll get a much more flexible, maintainable application, enabling more reuse for future extensions and other applications.
This architecture also applies to more lightweight persistent approaches such as JDO of course - the business domain model is implemented with POJOs rather than entity beans, and the POJO business objects implement domain-object-specific bahaviour. Again - for example, your BankAccount POJO has it's calculateInterest() method.
cheers,
Dave.