我正在使用 eclipse + eclipselink + maven2 + mysql + jpa 2.0 + java SE。
我可以使用 Eclipse 从实体类创建 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 执行的相同测试也会出现同样的错误。
注意:我仍然能够从实体创建表。
有什么建议吗?