1

编辑:就像下面的答案所说,这是一个错误,它已被其他人报告

我试图在我的一个项目中使用 Hibernate Tools 生成 DTO(这是我昨天就该任务提出的一个问题)。我在当前的 Eclipse Neon 实例中安装了 Hibernate Tools,并遇到了下面详细介绍的问题。

然后,我下载了整个 JBoss Developer Studio 安装程序并安装它,以确定我的 Eclipse 实例是否有问题。无济于事。

(注意:在 Eclipse 实例中使用 EclipseLink,我可以从图表中生成实体,从实体中生成表)

我遇到的问题是创建 Hibernate 配置时错误日志视图(以及作为对话框)中的此异常,即在下面的对话框窗口中单击“确定”按钮时:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:78)
    at org.hibernate.tool.util.MetadataHelper.getMetadata(MetadataHelper.java:16)
    at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.getMetadata(ConfigurationFacadeImpl.java:168)
    at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.buildMappings(ConfigurationFacadeImpl.java:106)
    at org.hibernate.console.ConsoleConfiguration$4.execute(ConsoleConfiguration.java:272)
    at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
    at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108)
    at org.hibernate.console.ConsoleConfiguration.buildMappings(ConsoleConfiguration.java:270)
    at org.hibernate.eclipse.console.workbench.ConsoleConfigurationWorkbenchAdapter.getChildren(ConsoleConfigurationWorkbenchAdapter.java:44)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)
    at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:231)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:72)
    ... 12 more
Caused by: java.lang.NullPointerException
    at org.jboss.tools.hibernate.runtime.v_5_1.internal.JPAConfiguration.getMetadata(JPAConfiguration.java:36)
    ... 17 more

这是配置的屏幕截图(除了数据库对话框设置为MySQL (InnoDB)tab Options,我没有触及其他选项)。

“休眠配置”对话框的屏幕截图

这是我的 hibernate.properties 文件的内容:

hibernate.bytecode.use_reflection_optimizer=false
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=verbus
hibernate.connection.url=jdbc:mysql://localhost:3306/verbus
hibernate.connection.username=verbus
hibernate.ddl-auto=none
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.format_sql=true
hibernate.search.autoregister_listeners=true
hibernate.show_sql=true
hibernate.validator.apply_to_ddl=false
hibernate.default_entity_mode=pojo
hibernate.order_inserts=true
hibernate.order_updates=true

持久性单元存在并且是使用 Dali 的 JPA 图表编辑器组件创建和更新的。

无论数据库是空的还是 EclipseLink 已经生成了表都不会改变任何事情。

我想这是由于配置错误造成的,但是除了标准异常之外,缺少来自错误消息的提示让我无能为力。

是否可以确定此错误的确切原因?

4

1 回答 1

0

这个问题是一个错误,同时应该解决。试用最新的 Red Hat Developer Studio 版本。如果问题仍然存在,请在https://issues.jboss.org打开一个 JIRA 问题。

于 2016-09-05T06:37:31.343 回答