使用Hibernate Tools 5.1.0.Final时的InvocationTargetException

时间:2016-07-28 19:04:47

标签: java jpa hibernate-tools jboss-developer-studio

编辑:就像下面的答案所说,这是一个错误,而且其他人已经reported

我正在尝试使用Hibernate Tools在我的项目中生成DTO(this is a question I opened yesterday about that task)。我在当前的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)标签上设置为Options的数据库对话框之外,我还没有触及其他选项。)

Screen capture of the Hibernate Configuration dialog

以下是我的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 Diagram Editor组件创建和更新。

数据库是否为空或EclipseLink是否已生成表并不会改变事物。

我认为这是由于配置错误造成的,但除了标准异常之外,缺少错误消息的提示让我感到无助。

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

1 个答案:

答案 0 :(得分:0)

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