我得到异常“此部署中没有默认的持久性单元。”我能以某种方式将单位标记为默认单位吗?(我只有一个持久性单位,所以我宁愿不按名称调用它)
答案 0 :(得分:1)
不,你必须按姓名叫PU。
答案 1 :(得分:0)
您可能正在通过代码而不是让容器管理它。在这种情况下,您必须按名称指定。
我的单元测试代码有这个代码块来执行此操作。
@Before
public void createEntityManagerFactory() throws IOException {
final Properties p = new Properties();
p.load(getClass().getResourceAsStream("/inmemory.properties"));
emf = Persistence.createEntityManagerFactory("default", p);
}
但是,我的应用程序代码如下所示。
/**
* Injected persistence context.
*/
@PersistenceContext
private EntityManager em;