解决方法
答案是“两个”.
EJB本身不访问任何数据库表.您在Java中与数据库相关的所有操作都是通过Java Persistence API(JPA)实现的,或者如果您想通过JDBC执行低级操作,但我们不会在此处进行操作.
EJB为表提供的是一种非常简单的事务管理.你总是需要那些有JPA的人,手动管理它们有点痛苦. EJB还使您可以非常方便地访问将在JPA中与DB交互的主类:实体管理器.
在实践中使用EJB对于许多简单和轻量级的情况只不过是将@Stateless注释添加到bean:
@Stateless public class FooService { @PersistenceContext private EntityManager entityManager; public Foo getByID(Long fooID) { return entityManager.find(Foo.class,ID); } }