我想知道将对 EntityManager 对象的引用传递给我的所有 BusinessLayer 方法是否是反模式。
public void setCost(EntityManager em, int idProduct);
public void updateProduct(EntityManager em, ProductEntity product);
我发现这种模式很实用,因为它让我可以管理多个方法的分组来构建个性化交易......
public void initProduct(EntityManager em, ProductEntity product) {
...
tx.begin()
...
setCost(em, idProduct);
updateProduct(em, product);
...
tx.commit();
}
PS:
- 我没有使用 Spring 框架。
- 基于 JPA 的业务层和数据访问层旨在 在桌面应用程序中使用。
谢谢
最佳答案
将其作为参数传递似乎是不必要的工作,因为您可以通过 @PersistenceContext
更轻松地注入(inject)它。
或者,如果您没有依赖项注入(inject)容器,您可能想以其他方式转移责任。不要将 EntityManager 作为参数传递,而是让实现从某个地方(例如 JNDI)获取它。
关于java - 将 EntityManager 对象传递给所有 BusinessLayer 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27169162/