JPA默认持久性单元

时间:2008-12-16 16:36:13

标签: jpa default persistence.xml persistence-unit

我得到异常“此部署中没有默认的持久性单元。”我能以某种方式将单位标记为默认单位吗?(我只有一个持久性单位,所以我宁愿不按名称调用它)

2 个答案:

答案 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;