我在eclipse中创建了一个工作项目,它创建了一个从实体到mysql数据库的JPA表(仍在学习)。不幸的是,由于我想在那里做'测试'和'生产'数据库,所以它在错误的数据库中创建了表。不知何故,它获得了“生产”数据库的详细信息,即使它看起来像选择的数据库连接用于测试。 我篡改了一下这个项目,并使它与某个(测试)的正确连接对象连接。我可以在eclipse(都是dbs)中ping数据库,并在Data Source Explorer中查看数据库。 但是现在我无法通过右键单击它并选择'JPA'工具'>'从实体生成表格'来创建项目表。 创建开始和完成没有错误,就像一切正常,但我没有看到任何数据库中的表。 (在eclipse数据库浏览器或从命令行)。 persistence.xml应该没问题,因为它之前已经创建了一个表。无法在eclipse中创建jpa表
唯一的错误是实体类,因为它说实体注释“表xxx无法解析”。正如我所看到的,它来自未创建的表格。
这是persistence.xml以防万一。 http://pastebin.com/djPZei90
该项目也是一个Maven项目,它使用SVN。日食/项目的maven成功加载了依赖项,SVN没有任何复杂性。
由于Maven的存在,有2个persistence.xml文件(只有登录凭证和数据库名称发生变化)用于生产和测试。可能是db连接在第一个地方被检查并从错误的文件加载。 (只是猜测)
另外我试图在生成表格时创建script.sql。我找到了这个文件,但它完全是空的。
无论如何,现在的问题是我无法在任何地方创建表格。 我完全被这个困惑了。任何提示,我应该看看解决这个问题?
太多纯文本。没有阅读。 – JMelnik
它可能不相关,但persistence.xml显示eclipseLink提供程序DDL gen属性,但将Hibernate指定为jpa提供程序。如果要使用运行时DDL生成,则需要将提供者切换到org.eclipse.persistence.jpa.PersistenceProvider或指定Hibernate设置。只是一个评论,因为我不知道达利实际上使用这个来创建表 – Chris
试过两个提供商。不用找了。 –