我想知道哪种方式最好定义实体管理器。我正在使用春季靴子
案例1)在Spring服务类中创建如下
@Service
@Transactional
public class DemoService {
private static final Logger log = LoggerFactory.getLogger(DemoService.class);
private EntityManagerFactory emf;
public void getEntity(){
final EntityManager em = emf.createEntityManager();
}
@PersistenceUnit
public void setEntityManagerFactory(final EntityManagerFactory emf) {
this.emf = emf;
}
}
案例2.)定义全球实体经理并在所有服务中共享。
注意:每项服务仅反映一个实体定义。
答案 0 :(得分:0)
注入EntityManager是最简单,最有效的方法:
@PersistenceContext(unitName = "persistenceUnit")
private EntityManager entityManager;
EntityManagerFactory
,因为您需要一个受事务限制的EntityManager
。EntityManager
,因为那将是另一个间接层,您无论如何都可以简单地模拟EntityManager
。