【发布时间】:2012-05-31 14:14:07
【问题描述】:
我正在使用 eclipse + eclipselink + maven2 + mysql + jpa 2.0 + java SE。
我可以使用 Eclipse 从 Entity 类创建 MySQL 表。 persistence.xml 位于 src/main/resources/META-INF/...
我还在 Eclipse 中指定了用于生产和测试的数据库连接。该项目选择了任何一个,并且似乎都可以工作。
根据项目使用的数据源,将表创建到选定的数据库。作为数据库连接详细信息的 persistence.xml 中的内容被忽略(不确定会发生什么)。此外,如果我右键单击 persistence.xml 并选择“JPA 工具”>“同步类列表”。该文件将使用实体类进行更新。
persistence.xml 也是必需的,否则将不会在任何一个数据库中创建表。 (通过重命名文件测试)
早些时候,我还能够通过放入和加载东西来执行一些 DAO 方法进行测试。 Eclipse 包资源管理器中还有一个名为“JPA”的菜单项,列出了项目中不再存在的 JPA 实体。
我没有对项目进行任何更改(仅在晚上关闭计算机)。下次打开项目时,我不再能够执行任何 DAO 方法,并且出现以下错误:
No Persistence provider for EntityManager named xxx
同样的错误出现在具有 DAO 方法的主类,Eclipse 运行的 JUnit 测试和 Maven 执行的相同测试。
注意:我仍然可以从实体创建表。
有什么建议吗?
【问题讨论】:
标签: eclipse jpa-2.0 eclipselink