我得到异常“没有默认的持久性单元在此部署。”我可以采用某种标记单元作为默认?(我只有一个持久性单元,因此宁愿不按名称称呼它)

有帮助吗?

解决方案

没有,你必须通过名字来称呼PU的。

其他提示

您可能正在做它通过代码,而不是让容器来管理它。在这种情况下,你必须按名称来指定。

我的单元测试代码具有该代码块执行此操作。

@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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top