【问题标题】:JPA default persistence unitJPA 默认持久化单元
【发布时间】:2008-12-16 16:36:13
【问题描述】:

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

【问题讨论】:

    标签: jpa default persistence.xml persistence-unit


    【解决方案1】:

    不行,你必须叫 PU 的名字。

    【讨论】:

    • 注射时不必按名称调用 PU。
    【解决方案2】:

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

    我的单元测试代码有这个代码块来做这个。

    @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;
    

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2017-02-17
      • 2017-10-22
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2019-06-01
      • 2021-02-17
      • 1970-01-01
      相关资源
      最近更新 更多