我正在编写一个需要链接到用户提供的持久性单元的框架。以前,实体管理器是使用<!DOCTYPE html>
<html ng-app="app" ng-controller="AppController">
<head>
<title>Title</title>
<link rel="stylesheet" href="styles/sheet.css"/>
</head>
...
注释注入的,但这是一种静态方式:
@PersistenceContext
现在,我希望作业是动态的。因此,无论持久性单元名称是什么,仍然可以找到关联的实体管理器。这是我的实施:
public class MyItemReader implements ItemReader {
@PersistenceContext(unitName="myPU")
private EntityManager em;
...
}
我的实现在WildFly中有效,但我不确定它是否适用于其他Java EE容器。当初始背景发生变化时,我不确定它是否有效。
那么,我的实施是一个好方法吗?
答案 0 :(得分:-1)
不需要在persistanceContext中指定unitName。尝试以下一个..
@PersistenceContext
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
它会起作用。
由于