我想知道是否将对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:
由于
答案 0 :(得分:1)
将它作为参数传递似乎是不必要的努力,因为您可以通过@PersistenceContext
更轻松地注入它。
或者,如果您没有依赖注入容器,您可能希望以其他方式转换责任。不要将EntityManager作为参数传递,而是让实现从某个地方获取它(例如JNDI)。